在PHP(v 5.5.9-1ubuntu4.11)中,我不允许使用函数或函数数组初始化数据成员。这两个在syntax error, unexpected 'function' (T_FUNCTION), expecting ')'
:
class Foo {
var $a = array(
function() {}
);
}
和
class Foo {
var $a = function() {};
}
然而,这是允许的:
$a = array(function() {});
为什么我不能将功能分配给类中的数据成员?
为了便于再现:
echo '<?php class Foo { var $a = array(function() {}); } ?>' | php
echo '<?php class Foo { var $a = function() {}; } ?>' | php
echo '<?php $a = array(function() {}); ?>' | php