在定义属性时是否可以将属性作为对象进行类型转换?例如,$ array是有效的,但是,我对对象的两次尝试都没有。
谢谢
class xxx
{
public $array=array(),
$object1=new stdClass(),
$object2=object()
}
答案 0 :(得分:4)
不,PHP不允许你这样做。将对象分配给类属性的唯一方法是通过类方法。
如果您希望在对象初始化时将空类分配给类属性,则可以通过构造函数方法执行此操作。
class xxx {
public $array = array();
public $object1;
public function __construct() {
$this->object1 = new stdClass();
}
}
答案 1 :(得分:0)
这是不可能的,因为类定义是在PHP的编译时执行的。此时没有翻译表达式。这意味着只允许直接赋值,如字符串,浮点数,整数和数组。