0

在 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
4

0 回答 0