PHP 関数での変数の受け渡し方法: 値の受け渡し: 関数は変数値のコピーを受け取り、そのコピーを変更しても元の変数には影響しません。参照渡し: & 記号を使用すると、参照渡しが可能になり、関数は元の変数の値を直接変更できます。
PHP 関数と変数のリファレンス
PHP では、変数を関数パラメータとして渡すとき、変数の処理方法を知っておく必要があります。引用。変数参照には、値渡しと参照渡しの 2 種類があります。
値による受け渡し
デフォルトでは、PHP は値による受け渡しを使用します。これは、関数が変数値のコピーを受け取ることを意味します。このコピーを変更しても、元の変数の値には影響しません。
function test1($a) { $a += 10; // 修改副本的值 } $a = 10; test1($a); echo $a; // 输出 10,原始值不受影响
参照渡し
参照渡しは、& シンボルを使用して変数参照を渡すことで実現できます。これにより、関数が元の変数の値を直接変更できるようになります。
function test2(&$a) { $a += 10; // 修改原始变量的值 } $a = 10; test2($a); echo $a; // 输出 20,原始值被修改
実際的なケース
2 つの変数の値を交換するために使用される関数 swap()
を考えてみましょう。
function swapByValue($a, $b) { // 值传递,交换副本的值 $temp = $a; $a = $b; $b = $temp; } function swapByReference(&$a, &$b) { // 引用传递,直接交换原始变量的值 list($a, $b) = [$b, $a]; } $x = 10; $y = 20; swapByValue($x, $y); echo "x = $x, y = $y\n"; // x = 10, y = 20 swapByReference($x, $y); echo "x = $x, y = $y\n"; // x = 20, y = 10最初の例では、コピーの値を変更しても元の変数に影響を与えないため、値渡しを使用したスワップは機能しません。 2 番目の例では、参照渡しを使用して交換を実装し、それによって元の変数の値を正常に変更します。
以上がPHP 関数は変数参照をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。