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