この記事では、PHPで作成したオブジェクトについて、主にテキストとコードを使って詳しく説明しますので、皆様のお役に立てれば幸いです。
PHP でのオブジェクトの作成は次のとおりです: 新しいクラス名;
Class A{ public $p1=1; } $o1=new A(); var_dump($o1);
結果は次のようになります:
変数 $o1 がクラス A のオブジェクト型であることがわかります。 「#1」はシステム内部のカスタム識別子です。
システムが作成されると、変数 $o1 は実際にはシステムの内部カスタマイズされた識別子 #1 に格納され、対応するオブジェクト エンティティは #1 を通じて検索されます (参照渡しと同様)。
変数 $o1 を $o2 に代入した後、オブジェクト o1 の対応する p1 値を変更します。このとき、o2 の対応する p1 値も変更されます:
$o2=$o1; $o1->p1=10; echo "<br/>$o2->p1"; var_dump($o2);
$o1 の属性を変更する場合、$ o2 の属性もそれに応じて変更されます。そして、o1 と o2 のプロパティは同じです (実際、これらは同じオブジェクトを指します)。
実際の方法は図に示すとおりです:
そして、クラスオブジェクトでの pass by value の適用の場合:
Class A{ public $p1=1; } $o1=new A(); $o2=&$o1; $o1->p1=10; echo $o1->p1; echo "<br/>"; echo $o2->p1; echo "<br/>"; var_dump($o1); echo "<br/>"; var_dump($o2);
オブジェクト o1 の属性 p1 を変更すると、その属性はo2 それも変わりました。これは、「値の受け渡し」と「参照の受け渡し」についてのこれまでの理解とは異なります。
具体的な実装方法は次のとおりです:
つまり、$o2 は unset ($o1) 後も存在します。
りー以上がPHPでクラスオブジェクトを作成する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。