为什么这不起作用?
$arr=array(
7,
'h',
function($text){echo $text;}
);
$arr[2]('some text');
我想让它回应'某些文字',但它说有一个意想不到的T_FUNCTION。
答案 0 :(得分:3)
据我所知,PHP 5.3.0中添加了匿名函数。此错误似乎表明您使用的版本不支持它们。
答案 1 :(得分:2)
确实,这似乎是正确的答案。我不确定数组语法中的函数是否可行(即使在PHP 5.3.x中),所以我刚刚测试它并且看起来确实有效:
<?php
echo phpversion( ) . ": ";
$foo = array(
'test' => function( ) {
return 'This is my test.';
}
);
echo $foo['test']( );
?>
那个输出(当然是在我的机器上):
5.3.2-1ubuntu4.7:这是我的测试。