PHP stdClass クラスの使用方法の詳細な説明
1 次元配列の場合、PHP の stdClass クラスを介してオブジェクトの形式で記述することができます
<p>$tmp = array();</p>$tmp['a'] = 1;<br />$tmp['b'] = 2;<br /><p>$tmp['c'] = 3;</p>
PHP の stdClass クラスを使用した記述:
<br />$tmp = new stdClass();<br />$tmp->a = 1;<br />$tmp->b = 2;<br /><p>$tmp->c = 3;</p>
空の配列、$tmp = array( );
新しい空のオブジェクトを作成するには、$tmp = new stdClass();
実際、stdClass が普及したのは PHP5 になってからです。 stdClass も zend の予約クラスです。
stdClass は PHP の基本クラスであり、ほとんどすべてのクラスがこのクラスを継承するため、いつでも新しいクラスになり、この変数はオブジェクトになる可能性があります。同時に、この基本クラスにはメソッドが存在しないという特別な機能があります。
new stdClass() の変数を使用する場合、$a->test() を使用することはできません。または、PHP5 オブジェクトの一意性により、オブジェクトはどこで呼び出されても参照アドレス型であるため、消費されるリソースは比較的少なくなります。他のページで値を割り当てると、コピーを参照するのではなく、値が直接変更されます。例: $user = new stdClass();$myUser->name = 'flypig' ;
PHP4 時代であれば、そのようなコードはシステム リソースを消費します。理由:
$myUser = $user;$myUser = & $user;
なぜ配列を使用しないのかと言う人もいます。配列の方が便利ではないでしょうか?また、PHP のような弱い型指定のプログラムの場合は、配列を使用するのが最も便利です。
確かに。配列はプログラムで使用するのに最も便利ですが、配列が参照されるたびに ($a = $b)、実際にはコピーが作成され、配列が設定解除された後もメモリを占有します。