我正在使用AppServ 2.6.0/Apache 2.2.8/PHP 6.0.0-dev,並且出現以下函數的錯誤。意外的T_FUNCTION,期待')'
<? if(count($ex) > 0) {
foreach($ex as $k => $v) {
echo "<tr><td style='font-size:12px;'>".strip_tags($k)."</td>
<td style='font-size:10px;'>".$v['count']."</td>
<td style='font-size:10px;'>".implode(", ", array_map(function ($k, $v)
{ return $k."/".$v; }, array_keys($v['players']), array_values($v['players'])))."
</td></tr>";
}
} ?>
錯誤的是(第14行是在array_map()
是):
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' ** on line 14
可悲的是,我無法改變的PHP版本(我知道的是,錯誤可能都與PHP版本)。如果我升級PHP,那麼不是由我開始的整個項目就會崩潰。
有沒有什麼辦法讓這個代碼在Apache 2.2.8/PHP 6.0.0-dev上工作?
如果沒有任何解決方法,我不得不改變我的PHP版本,那裏有任何版本有PHP5.3匿名函數,也保持不贊成的?
讓它作爲一個普通預聲明命名的功能? 「 – mario
」......這也保留了棄用的?「 - 這是什麼意思?我還發現使用PHP 6.0.0-dev是一個糟糕的主意,這是一個不再存在的東西的alpha版本。你絕對應該轉向「真正」的PHP版本。 – deceze
您可以使用自PHP 4.0.1起可用的[create_function](http://php.net/create_function)。 – 2014-01-12 13:55:52