给出以下设置:
$storer = array();
$arr = array(1, 2, 3);
我很好奇为什么不写$storer
...
array_walk_recursive($arr, function($val, $key) {
global $storer;
$storer[] = 'foo';
});
print_r($storer); //no change - empty
..但这样做:
array_walk_recursive($arr, function($val, $key) use (&$storer) {
$storer[] = 'foo';
});
print_r($storer); //three items, all 'foo'
任何人都可以开导我吗?在用户函数中,我希望global
提供读/写访问权。
答案 0 :(得分:2)
拔出头发试图获得一个扁平的数组之后,这可行:
$result = array();
array_walk_recursive($inputarray,function($v, $k) use (&$result){ $result[$k] = $v; });
$inputarray = $result;
我希望有人能找到这个并且有所帮助。