0

我想知道这个 php 代码中出现“Unexpected T_FUNCTION”错误的原因:

class T
{
    private $array_of_functions = array(
        '0' => function() { return true; }
    );
}
4

1 回答 1

2

您不能将此类构造用作默认属性值。默认属性值只能是常量表达式——因此它不能包含闭包定义,因为它是动态的(即在运行时构造时评估)。相反,您应该在类构造函数中对其进行初始化:

class T
{
   private $array_of_functions = [];

   public function __construct()
   {
      $this->array_of_functions = [
         function() { return true; }
      ];
   }
}
于 2013-11-12T06:48:01.057 回答