ホームページ  >  記事  >  バックエンド開発  >  PHP関数でパラメータを参照渡しするにはどうすればよいですか?

PHP関数でパラメータを参照渡しするにはどうすればよいですか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-07-29 14:59:236082ブラウズ

前回の記事では関数にパラメータを渡す際の値渡しについて学びましたので、必要な方は「PHP関数でパラメータを値渡しするにはどうすればよいですか?」を読んでください。 》。今回は関数にパラメータを渡す参照渡しについて紹介しますので、必要な場合は参考にしてください。

まず、参照の受け渡しを理解するのに役立つ小さな例を見てみましょう。

<?php
  function swap(&$a, &$b){
    echo &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$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関数でパラメータを参照渡しするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。