我有以下代碼。PHP匿名函數拋出PHP 5.2錯誤
$resu = array_map(function($aVal, $bVal){
return "$bVal [$aVal]";
}, $result, $intersect);
$sorAr = array();
array_walk($resu, function($element) use (&$sorAr) {
$parts = explode(" ", $element);
$sorAr[$parts[0]] = trim($parts[1], ' []');
});
問題出在我需要在變量$ resu和array_walk中都使用匿名函數。錯誤顯示如下
Parse error: syntax error, unexpected T_FUNCTION in /dir...
我嘗試閱讀本網站的不同建議,但沒有運氣。我該如何解決這個問題。有人幫忙嗎?
我已經試過這個代碼...
function arrSwap() {
$arraySwap = function($aVal, $bVal){
return "$bVal [$aVal]";
};
$resu = array_map($arraySwap, $result, $intersect);
}
$sorAr = array();
function arrSwap2() {
$arrayWalk = function($element) use (&$sorAr) {
$parts = explode(" ", $element);
$sorAr[$parts[0]] = trim($parts[1], ' []');
};
array_walk($resu, $arrayWalk);
}
,但我得到這個錯誤...
致命錯誤:不能重新聲明arrSwap()(先前聲明中的第100行... 該線100是這樣的 - >功能arrSwap(){
檢查你的PHP版本,看看匿名函數都支持該版本或不? – Abhishek
不幸的是它不被支持,5.2.6。我如何重新編寫上面的代碼來處理這個版本? –
是的,有兩個選項是更新上面的php版本或更改函數,但如果這個概率。發生在託管時,然後只是提高服務器支持團隊的門票,以更新服務器的PHP版本。 – Abhishek