<?php
$arr = [
['2','3'],
['6,7']
];
$s= array_walk($arr, function($_value,$_key){
$a = 10;
return true;
});
var_dump($a);//$a 打印的时候报错了,如何得到$a呢?
<?php
$arr = [
['2','3'],
['6,7']
];
$s= array_walk($arr, function($_value,$_key){
$a = 10;
return true;
});
var_dump($a);//$a 打印的时候报错了,如何得到$a呢?
感觉要是说闭包的话,不应该限制在某个具体函数内部(array_walk),因为它的会回调都规定死了,而应该这样:
$closure=function (){//$closure为匿名函数,其实正常函数也可以
$a=123;//匿名函数内的变量
return function() use($a) {//返回一个匿名函数
return $a;
};
};
$innerClosure=$closure();//获取返回的匿名函数
echo $innerClosure();//获取内部$a的值
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答809 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答704 阅读✓ 已解决