PHP 関数には 3 つのタイプのパラメータ割り当てがあります: 1. 値渡しの割り当て、実パラメータの値をコピーして関数の仮パラメータに割り当てます; 2. 参照渡しの割り当て、コピー実パラメータのメモリ アドレス 次に 1 つのコピーが関数の仮パラメータに渡され、次に実パラメータの値が仮パラメータに割り当てられます; 3. 関数のパラメータのデフォルト値を直接指定します。構文は次のとおりです。 「関数名(パラメータ変数 = '値')」。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php 関数は 3 型:
1. 値の転送割り当て
2. 参照転送の割り当て
3. デフォルトのパラメータ値
以下詳しい紹介をさせていただきます。
1. 値の受け渡し割り当て
値の受け渡しは、PHP の関数のデフォルトの値の受け渡し方法であり、「値によるコピー受け渡し」とも呼ばれます。
名前が示すように、値割り当てメソッドは実パラメータの値をコピーして関数の仮パラメータに渡すため、関数内でパラメータの値を操作しても実際のパラメータには影響しません。関数外のパラメータ。
したがって、関数で実際のパラメーターの値を変更したくない場合は、値で渡すことができます。
例:
<?php header(&#39;content-type:text/html;charset=utf-8&#39;); 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; ?>
2. 参照渡しの代入
パラメータを参照によって渡すとは、渡すことを意味します。実パラメータ メモリアドレスのコピーを作成して関数の仮パラメータに渡し、実パラメータの値を仮パラメータに代入します。
実パラメータと仮パラメータは両方とも同じメモリ アドレスを指すため、仮パラメータに対する関数の操作は関数の外部の実パラメータに影響します。
参照渡しとは、実パラメータのメモリアドレスを関数の仮パラメータに渡すことです。したがって、実パラメータと仮パラメータは同じメモリ アドレスを指します。このとき、関数内のすべての操作は関数の外の実パラメータの値に影響を与えます。参照渡しの方法は、次に示すように、値の受け渡しに基づいて &
シンボルを追加することです。
function name (&参数1, &参数2, ..., &参数3) { ... }
例:
<?php header(&#39;content-type:text/html;charset=utf-8&#39;); 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; ?>
##3. デフォルトのパラメータ値
デフォルト パラメータでは、関数の 1 つ以上の仮パラメータのデフォルト値を指定します。対応するパラメータが渡されない場合は、関数値を呼び出すときに、関数はこのデフォルト値を使用します。これにより、パラメーターなしで呼び出した場合のエラーを回避でき、一部のプログラムをより合理的にすることもできます。対応するパラメータが渡されると、このデフォルト値は置き換えられます。 関数のデフォルトのパラメータは次のとおりです:function name ($str = &#39;默认值&#39;, $url) { echo $str; }シェイプ参加者のデフォルト値を接続するには、
= を使用する必要があります。
<?php function add($a, $b=56){ echo $a.&#39; + &#39;.$b.&#39; = &#39;.($a+$b).&#39;<br>&#39;; } add(11); add(37, 29); ?>デフォルト パラメータは複数にすることもでき、デフォルト パラメータは、デフォルト以外のパラメータ、および指定されたデフォルト パラメータの値は、数値や文字列などの特定の値である必要があり、変数にすることはできません。
<?php function add($a, $b=33, $c=57){ echo $a.&#39; + &#39;.$b.&#39; + &#39;.$c.&#39; = &#39;.($a+$b+$c).&#39;<br>&#39;; } add(11); add(31, 22); add(64, 9, 7); ?>推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHP関数のパラメータ割り当てにはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。