ホームページ >バックエンド開発 >PHPチュートリアル >PHPのSTDCLASSとは何ですか?使い方?
この記事では、主に PHP での STDCLASS の使用法を紹介し、PHP での STDCLASS の機能、原理、使用法および関連する側面をメモ の例の形で分析します。この記事では、PHP での STDCLASS の使用法について説明します。詳細は次のとおりです。PHP の STDCLASS は開発アプリケーションではあまり使用されませんが、PHP の STDCLASS の使用法を見てみましょう。 WordPress の多くの場所では、stdClass を使用して
object(通常は
arrayの形式) を定義し、次に get_
object_vars を使用して、定義されたオブジェクトを に「変換」します。コードは次のとおりです: $tanteng = new stdClass();
$tanteng->name = 'tanteng';
$tanteng->email = 'xxx@qq.com';
$info = get_object_vars($tanteng);
print_r($info);
exit;
出力: Array ( [name] => tanteng [email] => xxx@qq.com )
get_object_vars の関数は、オブジェクトのプロパティで構成される連想配列を返すことです。その効果は実際には次のように配列を定義するのと同じです:
$tanteng = array(); $tanteng['name'] = 'tanteng'; $tanteng['email'] = 'xxx@qq.com';
これは次のように理解できます: stdClass は組み込みクラスであり、メンバー
変数もメンバー メソッド
もありません。 「空の」オブジェクト自体には意味がありませんが、それを定義するために stdClass を使用する利点は何ですか? 次のコード:$user = new stdClass(); $user->name = 'gouki'; $user->hehe = 'hehe'; $myUser = $user; $myUser->name = 'flypig'; print_r($user); print_r($myUser); print_r($user);ここでは $myUser に値 $user が割り当てられていますが、実際には新しいメモリ ストレージ変数は開かれていません。$myUser は引き続き参照します。 stdClass オブジェクトは、$myUser のプロパティ ページを変更することで、$user のプロパティを変更します。プログラム内にそのような操作が多数ある場合、新しいコピーは作成されません。 stdClass はメモリのオーバーヘッドを節約できます。 実行結果:
stdClass Object ( [name] => flypig [hehe] => hehe ) stdClass Object ( [name] => flypig [hehe] => hehe ) stdClass Object ( [name] => flypig [hehe] => hehe )$user が配列であり、$myUser に割り当てられている場合、$myUser の属性を変更すると、stdClass 属性が変更されることがわかります。 、コピーが $myUser にコピーされ、システムのオーバーヘッドが増加します。もちろん、その逆を実行して配列をオブジェクトに変換することもできます:
$hehe['he1'] = 'he1'; $hehe['he2'] = 'he2'; $hh = (object) $hehe; print_r($hh);結果を出力します:
stdClass Object ( [he1] => he1 [he2] => he2 )
以上がPHPのSTDCLASSとは何ですか?使い方?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。