ホームページ  >  記事  >  バックエンド開発  >  PHP の戻り参照とローカル静的変数を理解する_PHP チュートリアル

PHP の戻り参照とローカル静的変数を理解する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:52:11948ブラウズ

PHPのリターン参照とローカル静的変数を理解する

この記事では主にPHPのリターン参照とローカル静的変数の理解を紹介します。リターン参照を記述する一般的な方法は、メソッド名の前に&を追加することです。ローカル静的変数も非常に便利です。必要です。友達はそれを参照できます

まずマニュアルをお読みください

==========

関数から参照を返すには、関数を宣言するときと戻り値を変数に代入するときに、参照演算子 & の両方を使用する必要があります。

コードは以下の通りです:

関数&returns_reference()

{

$someref = 0;

$someref を返す;

}

$newref = &returns_reference();//$newref = &$someref;と同等

?>

引用について詳しくは、引用の説明をご覧ください。

多くのオープンソース コードが好んで使用するシングルトン登録モデルを見てみましょう

コードは以下の通りです:

クラス a{}

クラス b{}

関数&aa($name)

{

static $class = array(); //ローカル静的変数はメソッドの実行が終了しても消えず、ソースプログラム全体が終了してライフサイクルが終了するまで存続します

if(!$class[$name]) //つまり、ここでの宣言/初期化ステートメントは、最初に宣言されたときにのみ機能します

{ //このメソッドが後で呼び出されるとき、静的変数は値を再初期化しなくなります

$class[$name] = new $name();

}

$class[$name]を返す;

}

$a = & aa('a');

$b = & aa('b');

$a2 = & aa('a');

$b2 = & aa('b');

echo $a === $a2 ? '$a と $a2 は同じインスタンス化されたオブジェクトです

':'';

echo $b === $b2 ? '$b と $b2 は同じインスタンス化されたオブジェクトです' : '';

http://www.bkjia.com/PHPjc/1011117.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1011117.html技術記事 PHPのリターン参照とローカル静的変数を理解する この記事では主にPHPのリターン参照とローカル静的変数の理解を紹介します リターン参照の一般的な書き方は、メソッド名の前に追加する方法です、ローカル静的変数...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。