서버를 전환하거나 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를 업그레이드 할 때 왜 발생합니까?
감사
당신은 현재 내가 말할 수있는 php 5.2를 사용하고 있습니다.
코드 로 phpinfo () 를 실행 <? echo phpinfo(): ?>
하면 버전이 감지됩니다. PHP 5.2-5.5를 사용하는 내 테스트에서 이것은 람다 함수가 존재하기 전에 PHP 5.2에서만 발생합니다.
물론 당신은 이미 우리의 의견에서 이것을 알고 있으며, 이것은 미래의 방문자를위한 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다