最初にマニュアルをお読みください
==========
関数から参照を返すには、関数を宣言するときと戻り値を変数に代入するときに参照演算子 & を使用する必要があります:
コードをコピーします コードは次のとおりです:
関数&returns_reference()
{
$someref = 0;
$someref を返します
}
$newref = &returns_reference();//$newref = &$someref; と同等
?>
引用について詳しくは、引用の説明をご覧ください。
多くのオープンソース コードが好んで使用する単一インスタンス登録モデルを見てみましょう
コードをコピーします コードは次のとおりです:
クラス A{}
クラス b{}
関数と aa($name)
{
static $class = array(); //ローカル静的変数はメソッドの実行が終了しても消えませんが、ソースプログラム全体が終了してライフサイクルが終了するまで存続します
If(!$class[$name]) //つまり、ここでの宣言/初期化ステートメントは、最初に宣言されたときにのみ機能します
{
$class[$name] = 新しい $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/1011953.html
www.bkjia.com
true