“解析错误:语法错误,意外的T_FUNCTION”

时间:2014-02-02 20:32:22

标签: php html

为什么我从这个片段中得到“解析错误:语法错误,第5行的upload2.php中的意外T_FUNCTION”:

<?php
$title = "Click to see the picture in full size";

$images = glob('./images/*.*', GLOB_BRACE); 
usort($images, function($a, $b) {  
return filemtime($a) < filemtime($b);  
});

foreach($images as $image) {
echo '<a href="'.$image.'"><img src="'.$image.'" width="430px" height="350px"    title="'.$title.'"></a>';
}

?>

当我使用XAMPP localhost时工作正常。 提前谢谢!

2 个答案:

答案 0 :(得分:5)

您正在运行不同版本的PHP。您的本地版本支持匿名功能(5.3+),但您的生产版本不支持。

答案 1 :(得分:0)

您在此行中使用的匿名函数语法:

usort($images, function($a, $b) {  

仅适用于PHP 5.3及更高版本。您的服务器可能正在运行PHP 5.2,但不支持此功能。

您需要单独定义该功能并按名称引用它,例如

function sort_by_mtime($a, $b) {
    ...
}

usort($images, "sort_by_mtime");