その場で PHP オブジェクトに追加することは可能ですか? このコードがあるとします:
$foo = stdObject();
$foo->bar = 1337;
これは有効な PHP ですか?
その場で PHP オブジェクトに追加することは可能ですか? このコードがあるとします:
$foo = stdObject();
$foo->bar = 1337;
これは有効な PHP ですか?
これは技術的に有効なコードではありません。次のようなものを試してください:
$foo = new stdClass();
$foo->bar = 1337;
var_dump($foo);
次の代わりに有効なクラスを使用する限り有効です。stdClassstdObject
$foo = new stdClass();
$foo->bar = 1337;
echo $foo->bar; // outputs 1337
次の問題がありました。
stdObjectの代わりに使用stdClassnewキーワードを使用してオブジェクトをインスタンス化しないより詳しい情報:
あなたは近くにいます。
$foo = stdObject();
これは次のようにする必要があります。
$foo = new stdClass();
それはうまくいくでしょう。
はい、そうです。コードの唯一の問題は、newを呼び出す前にaがなく、stdClassを使用していることですが、つまりstdObjectstdClass
<?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";