ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数でパラメータを参照渡しするにはどうすればよいですか?
前回の記事では関数にパラメータを渡す際の値渡しについて学びましたので、必要な方は「PHP関数でパラメータを値渡しするにはどうすればよいですか?」を読んでください。 》。今回は関数にパラメータを渡す参照渡しについて紹介しますので、必要な場合は参考にしてください。
まず、参照の受け渡しを理解するのに役立つ小さな例を見てみましょう。
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
出力結果は
函数外,交换前 $x = 5, $y = 7 函数内,交换前 $a = 5, $b = 7 函数内,交换后 $a = 7, $b = 5 函数外,交换后 $x = 7, $y = 5
です。この例では、関数内では実際に値が交換され、関数の外では値が交換されていることがわかります。も交換されます。
これは、前の記事の参照による受け渡しと値によるパラメーターの受け渡しの違いです。
パラメータの参照渡しとは、パラメータのメモリアドレスをコピーして関数の仮パラメータに渡すことです。パラメータと仮パラメータはどちらも同じメモリ アドレスを指します。したがって、仮パラメータに対する関数の操作は、関数の外部のパラメータに影響を与えます。
参照渡しとは、パラメータのメモリアドレスを関数の仮パラメータに渡すことです。したがって、パラメータと仮パラメータは同じメモリ アドレスを指します。このとき、関数内のすべての操作は関数外のパラメータの値に影響を与えます。参照転送の方法は、以下に示すように <strong>&</strong>
シンボルを追加することです。
function name (&参数1, &参数2, ..., &参数3) { ... }
同時に、このシンボルは 参照転送#でもあります。 ## と
値を渡すパラメーター の違い。
以上がPHP関数でパラメータを参照渡しするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。