1

这是我在本地主机上运行良好的代码:

<?php
$list = array();
array_map(function($var){}, $matches_array_1);
foreach ( $matches_array_1 as $value ) {
    $key = $value['team'];

    if (array_key_exists($key, $list)) {
        $list[$key]['team_points'] += $value['team_points'];
        $list[$key]['team_occurrences'] ++;
    } else {
        $list[$key] = $value;
        $list[$key]['team_occurrences'] = 1;
    }
}
usort($list ,function($a, $b){ $a = $a['team_points'] ; $b = $b['team_points'] ; return ($a == $b) ? 0 : (($a < $b) ? 1 : -1 ) ;});

?>

但是在服务器上它会抛出一个错误:

解析错误:语法错误,意外的 T_FUNCTION,期待 ')'

对于这一行:

array_map(function($var){}, $matches_array_1);

我的本地主机 WAMP PHP 版本是 5.4.3

我的服务器 PHP 版本是 5.2.17

我想更改代码,使其适用于两种环境。

感谢您的任何建议。

4

1 回答 1

9

从 PHP 5.3.0 开始提供匿名函数。见http://php.net/manual/en/functions.anonymous.php

于 2012-10-13T08:09:42.507 回答