设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
Developers
›
Web 开发综合讨论
›
PHP匿名函数如何访问外部变量?
返回列表
查看:
6365
|
回复:
3
PHP匿名函数如何访问外部变量?
[复制链接]
幻想曲
幻想曲
当前离线
积分
228
IP卡
狗仔卡
发表于 2012-2-23 10:56:45
|
显示全部楼层
|
阅读模式
PHP
复制代码
function
test
(
)
{
$num
=
2
;
$array
=
array
(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
)
;
print_r
(
array_filter
(
$array
,
function
(
$param
)
{
return
$param
%
intval
(
$GLOBALS
[
'num'
]
)
==
0
;
//这里访问不到$num变量
}
)
)
;
}
test
(
)
;
复制代码
如何才能访问到$num?
如果把$num放到function外部,是可以用$GLOBALS访问到的。
函数
,
如何
相关帖子
•
view视图如何写一对多的表单
•
PHPExcel 如何在表格中插入图片
•
mysql如何设置负数金额
•
CI如何使用静态函数?
•
ci分页时如何跳转页面
•
请教ci2.2.6如何访问sqlite3数据库?
•
CI如何编写发送短信功能接口代码?急!!
•
$route['default_controller'] = "welcome"; 如何指向 base_url?
•
如何使用数据库查询类生成上一条记录?
•
上机实践:搭建 LNMP + CodeIgniter 开发环境
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
五点晨曦
五点晨曦
当前离线
积分
235
IP卡
狗仔卡
发表于 2012-3-4 00:27:56
|
显示全部楼层
直接把num当成输入参数传给匿名函数得了
回复
支持
反对
使用道具
举报
显身卡
saturn
saturn
当前离线
积分
1844
IP卡
狗仔卡
发表于 2012-3-5 07:17:07
|
显示全部楼层
你显然没有认真看手册。
PHP
复制代码
$var
=
1
;
$lambda
=
function
(
$param
)
use
(
$var
)
{
echo
$var
;
}
复制代码
http://php.net/manual/en/functions.anonymous.php
特别注意:
5.3.x不支持在匿名函数里面直接引用 $this,只能先传递给句柄然后应用。5.4修正了这个bug。
PHP
复制代码
// for 5.3
$var
=
1
;
$self
=
&
$this
;
$lambda
=
function
(
$param
)
use
(
$self
)
{
// your code here
}
复制代码
评分
参与人数
1
威望
+5
收起
理由
Hex
+ 5
很给力!
查看全部评分
回复
支持
反对
使用道具
举报
显身卡
Close
Close
当前离线
积分
54
IP卡
狗仔卡
发表于 2012-3-19 13:02:34
|
显示全部楼层
PHP
$var = 1;
$lambda = function($param) use($var) {
echo $var;
}
复制代码
这个不懂怎么用
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页