2

その場で PHP オブジェクトに追加することは可能ですか? このコードがあるとします:

$foo = stdObject();
$foo->bar = 1337;

これは有効な PHP ですか?

4

4 に答える 4

3

これは技術的に有効なコードではありません。次のようなものを試してください:

$foo = new stdClass();
$foo->bar = 1337;
var_dump($foo);

http://php.net/manual/en/language.types.object.php

于 2012-06-26T17:52:30.763 に答える
3

次の代わりに有効クラスを使用する限り有効です。stdClassstdObject

$foo = new stdClass();
$foo->bar = 1337;
echo $foo->bar; // outputs 1337

次の問題がありました。

  • stdObjectの代わりに使用stdClass
  • newキーワードを使用してオブジェクトをインスタンス化しない

より詳しい情報:

于 2012-06-26T17:52:55.190 に答える
0

あなたは近くにいます。

$foo = stdObject();

これは次のようにする必要があります。

$foo = new stdClass();

それはうまくいくでしょう。

于 2012-06-26T17:53:48.933 に答える
0

はい、そうです。コードの唯一の問題は、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";
于 2012-06-26T17:51:49.857 に答える