4

定义属性时是否可以将属性类型转换为对象?例如, $array 是有效的,但是,我对对象的两次尝试都不是。

谢谢

class xxx
{
    public  $array=array(),
            $object1=new stdClass(),
            $object2=object()
}
4

2 回答 2

4

不,PHP 不允许您这样做。将对象分配给类属性的唯一方法是通过类方法。

如果您希望在对象初始化时将一个空类分配给类属性,那么您可以通过构造函数方法执行此操作。

class xxx {
    public $array = array();
    public $object1;

    public function __construct() {
        $this->object1 = new stdClass();
    }
}
于 2012-05-16T12:43:34.487 回答
0

这是不可能的,因为类定义是在 PHP 的编译时执行的。此时没有表达式被翻译。这意味着只允许直接赋值,如字符串、浮点数、整数和数组。

请参阅运行时与编译时

于 2012-05-16T12:44:30.573 回答