在 PHP (v 5.5.9-1ubuntu4.11) 中,我不允许使用函数或函数数组初始化数据成员。这两个违反 PHP 语法的基础是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