この記事では、php での stdClass の使用法を例とともに分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
stdclass は、php で事前定義されたクラスの 1 つであり、zent によって予約されているクラスです。実際、これは PHP によって提供される基本クラスであり、何も含まれていない空のクラスです。これをインスタンス化し、一連の変数を定義し、変数を渡すことができます (多くの PHP プログラマーは値を渡すためにこれを使用します。独自のクラスを作成する手間を省きながら、一連の変数を作成できます)。ただし、インスタンス化後にメソッドを追加することはできないため、プロパティのみを渡すことができます。クラスがインスタンス化されると、メソッドを追加できないためです。
stdclass は基底クラスとして利用でき、その最大の特徴は、定義時にメンバー変数を指定することなく、(その派生クラスが) 自動的にメンバー変数を追加できることです。
すべての php 変数は stdClass のインスタンスです。
使用方法:
1.標準クラスを使用します:
このようにして、量 a、b、c が stdclass に入力されます。空のオブジェクトを作成するには $andy = new Andy が必要であり、最初にクラス Andy{} が存在する必要があるため、これによりトラブルが軽減されます。別の例:
出力: stdClass Object ( [id] => 11 [username] => me )。
多くの場合、このメソッドは、構文が異なるだけである配列の使用を置き換えるために使用されます。
2.読む:
実際には、配列に似ていますが、アクセス方法が少し異なります。私たちは通常、配列にアクセスするために array['key'] を使用することに慣れています。
この種の stdClass の場合、上記の例のように、$weather->getWeatherbyCityNameResult->string[0] は次のように属性にアクセスでき、結果は「四川省」になります。
3. インスタンス化、新規。
これら 2 つのコードを比較してください:
出力: stdClass Object ( [1] => 2 [2] => 3 [id] => 11 [username] => me ) 。
出力: stdClass Object ( [id] => 11 [username] => me ) 。
new でインスタンス化した後、以前の配列はクリアされ、インスタンス化されなかった場合、stdClass はすべての要素を保持することがわかります。
関数内で global または static を使用し、新しい stdclass が参照される場合、&new stdclass は無効になることに注意してください。参照の使用を避け、新しい stdclass を直接使用する必要があります。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。