是否可以即时添加到 PHP 对象?说我有这个代码:
$foo = stdObject();
$foo->bar = 1337;
这是有效的 PHP 吗?
从技术上讲,这不是有效的代码。尝试类似:
$foo = new stdClass();
$foo->bar = 1337;
var_dump($foo);
只要您使用有效的类,例如stdClass
而不是stdObject
:
$foo = new stdClass();
$foo->bar = 1337;
echo $foo->bar; // outputs 1337
你有这些问题:
stdObject
代替stdClass
new
不使用关键字实例化您的对象更多信息:
是的。您的代码中唯一的问题是它缺少 a new
before call stdClass
,而您正在使用stdObject
,但您的意思是stdClass
<?php
class A {
public $foo = 1;
}
$a = new A;
$b = $a; // $a and $b are copies of the same identifier
// ($a) = ($b) = <id>
$b->newProp = 2;
echo $a->newProp."\n";
你很近。
$foo = stdObject();
这需要是:
$foo = new stdClass();
然后它将起作用。