ホームページ >バックエンド開発 >PHPチュートリアル >PHP での参照によるパラメーターの受け渡しの概要: & 記号の使用方法
PHP は、パラメータを渡す 2 つの方法 (値による受け渡しと参照による受け渡し) をサポートする一般的なプログラミング言語です。値による受け渡しでは、ある変数の値が別の変数にコピーされますが、参照による受け渡しでは、ある変数のメモリ アドレスが別の変数にコピーされます。この記事では、PHP 参照パラメータの使用法、特に & 記号の使用法を紹介します。
パラメータの参照渡しの基礎
PHP では、変数を関数に渡すことで、変数の値を変更したり返したりできます。このプロセスは、値渡しまたは参照渡しによって実行できます。値渡しでは、関数は変数の値をコピーしますが、参照渡しでは、関数は元の変数を使用します。
パラメータを参照渡しするための基本的な構文は次のとおりです:
function &example(&$parameter){
// code to modify $parameter return $parameter;
}
この関数では、 & は渡された参照を表します。$parameter は関数のパラメーターです。この関数は、$parameter 変数への参照を返します。ご覧のとおり、関数定義ではパラメーター名の前に & 記号があり、このパラメーターが参照パラメーターであることを意味します。
& 記号の使用例
& 記号の使用例をいくつか見てみましょう。
// 值传递的例子 function foo($var){ $var = 2; } $a = 1; foo($a); echo $a; // 输出:1 // 引用传递的例子 function bar(&$var){ $var = 2; } $a = 1; bar($a); echo $a; // 输出:2
この例では、foo() 関数は値を渡す関数であり、bar() 関数は参照を渡す関数です。 foo($a) が実行されると、$a の値が $var にコピーされるため、$var の値は 1 になります。関数内では $var の値は 2 に設定されていますが、$var はローカル変数であるため、その変更は $a の元の値には影響しません。
bar($a) を実行すると、$a のメモリアドレスが $var にコピーされます。したがって、関数内では、変数 $var は $a の値をコピーするのではなく、$a のメモリ アドレスを参照します。関数内で $var の値が 2 に設定されると、$a 変数の値も 2 に変更されます。
ご覧のとおり、& 記号を使用すると、変数を関数へのポインターとして渡すことができます。これにより、関数が元の変数の値を変更できるようになり、プログラム全体に可変状態を渡すことができます。
& 記号は変数にのみ適用でき、式には適用できないことに注意してください。たとえば、次のコードには構文エラーが発生します。
$var = 1; // 以下代码将会出现语法错误 function foo(1 &$var){ $var = 2; }
概要
この記事では、パラメータを渡す PHP リファレンスの基本的な知識、特に & 記号の使用について紹介しました。パラメーターを参照渡しすると、関数内の変数の値を変更できるため、プログラム内で変更可能な状態を渡す必要がある場合に便利です。 & 記号は変数にのみ適用でき、式には適用できないことに注意してください。この記事が読者にとって役立つことを願っています。
以上がPHP での参照によるパラメーターの受け渡しの概要: & 記号の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。