在PHP中,我喜欢一步到位,像这样申报对象(stdClass的新实例)的能力:有没有办法将“数组”转换为(object)作为class/trait的属性?
$obj = (object) ['a','b','c'];
这个伟大的工程... 但其作为类属性:
class Foo {
public $obj = (object) ['a','b','c'];
}
我得到以下错误:
syntax error, unexpected '(object)' (object) (T_OBJECT_CAST)
的是换另一种方法来完成这个?而且,有没有人知道为什么上面的代码是不允许的(也许特定于PHP 5.6)?我无法在任何地方找到具体的文档。
您是否尝试将其转换为构造函数并将其分配给属性? – JavaMachine
我不认为你可以在PHP中使用json表示法,至少据我所知,我不知道是否在新版本中添加了这种表示法。然后,如果你想投射到一个物体,我认为你应该把这个数组转换成一个assoc数组 – NoImaginationGuy
特别是对于特质,单线投射方法是非常方便的,因为没有其他的一举一动的方法来定义和设置一个对象那(AFAIK)。而且,由于实现一个构造函数以及一个特性是一个坏消息,我将不得不忍受一个数组。 –