0

PHP (v 5.5.9-1ubuntu4.11) では、関数または関数の配列でデータ メンバーを初期化することはできません。これら 2 つは、以下に基づいて 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