2010-09-16 80 views
5

我有一段代碼,我試圖使用PHP版本5.2.14。它不兼容?我運行下面,PHP版本5.2.14 /分析錯誤:語法錯誤,意外的T_FUNCTION,期待')'

jailshell-3.2$ php -l /XYZ/functions.php 

,它給:

Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /XYZ/functions.php on line 2115 Errors parsing /XYZ/functions.php

的代碼是:

2114 $range = array_map(
2115    function (DatePeriod $p) use ($vt2) { 
2116    $res = array(); 

回答

6

你的代碼使用這是在PHP 5.3支持anonymous functions。所以,你需要PHP 5.3才能運行。升級您的服務器的PHP安裝。

匿名函數(也稱爲閉包)允許創建沒有指定名稱的函數。

4

您正在使用的anonymous functions這是可用的PHP 5.3.0

要解決此問題,您可以按照其他答案中的建議升級您的PHP。

另外,您可以定義函數之外array_map,然後使用該函數名在調用array_map

3

從PHP手冊上Anonymous Functions

Note: Anonymous functions are available since PHP 5.3.0.

5.3.0版本之前,像這樣做:

$range = array_map("name_of_function_to_call", $myArray); 
相關問題