ホームページ  >  記事  >  バックエンド開発  >  PHPのstdClassクラスの使い方を詳しく解説

PHPのstdClassクラスの使い方を詳しく解説

WBOY
WBOYオリジナル
2016-06-20 13:05:121131ブラウズ

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();
$user->name = 'gouki';
$myUser = $user;

$myUser->name = 'flypig' ;

PHP4 時代であれば、そのようなコードはシステム リソースを消費します。理由:

$myUser = $user;
これによりコピーが作成されます。したがって、PHP4 では、常に次のように使用されます:

$myUser = & $user;

なぜ配列を使用しないのかと言う人もいます。配列の方が便利ではないでしょうか?また、PHP のような弱い型指定のプログラムの場合は、配列を使用するのが最も便利です。

確かに。配列はプログラムで使用するのに最も便利ですが、配列が参照されるたびに ($a = $b)、実際にはコピーが作成され、配列が設定解除された後もメモリを占有します。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。