当我从 PHP 5.3 切换服务器/升级到 5.4 时,以下代码突然中断:
function arrayValRecursive($key, array $arr, $string=false){
$val = array();
array_walk_recursive($arr, function($v, $k) use($key, &$val){
if($k == $key) array_push($val, $v);
});
if($string==true){
return count($val) > 1 ? $val : array_pop($val);
}
else {
return $val;
}
}
我收到一个Parse error: syntax error, unexpected T_FUNCTION
错误,这似乎是由于 array_walk_recursive 行中的匿名函数。
我怎样才能以不同的方式编写这个函数来避免这个问题,为什么在升级 PHP 时会发生这种情况?
谢谢