ホームページ  >  記事  >  バックエンド開発  >  PHP関数でデフォルトパラメータと可変長パラメータを渡すにはどうすればよいですか?

PHP関数でデフォルトパラメータと可変長パラメータを渡すにはどうすればよいですか?

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

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

関数にパラメーターを渡すには、値の受け渡し、参照の受け渡し、デフォルトのパラメーター、および可変長パラメーターの 4 つの方法があります。前々回の記事では値の受け渡しと参照の受け渡しについて紹介しましたが、今回はデフォルトパラメータと可変長パラメータについて紹介します。

デフォルトのパラメータ

最初に小さな例を見てみましょう。

<?php
  function add($a, $b=56){
    echo $a.&#39; + &#39;.$b.&#39; = &#39;.($a+$b).&#39;<br>&#39;;
  }
  add(11);
  add(37, 29);
?>

出力結果は

11 + 56 = 67
37 + 29 = 66

です。この例では、指定されたパラメータが 1 つで、もう 1 つのパラメータがデフォルト値を持つ場合、操作が直接実行されることが明確にわかります。パラメータが 2 つある場合、操作は指定された値に基づいて実行されます。

デフォルト パラメーターは、関数の 1 つ以上の仮パラメーターのデフォルト値を指定します。関数の呼び出し時に対応する値が渡されない場合、関数はこのデフォルト値を使用します。これにより、パラメーターなしで呼び出した場合のエラーが回避され、一部のプログラムがより合理的になります。対応するパラメータが渡されると、デフォルト値が置き換えられます。

可変長パラメータ

まずは小さな栗をあげましょう。

<?php
  function test(...$arr){
    print_r($arr);
  }
  echo &#39;<pre class="brush:php;toolbar:false">&#39;;
  test(1, 2, 3, 4);
  test(5, 6, 7, 8, 9, 10);
?>

出力結果は

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
Array
(
[0] => 5
[1] => 6
[2] => 7
[3] => 8
[4] => 9
[5] => 10
)

です。この例では、関数に 2 回指定されたパラメーター値が異なることがはっきりとわかりますが、結果を観察すると、すべての入力値が異なることがわかります。が出力されます。関数自体を見ると、「...」が追加されているという点で通常の関数と異なることがわかります。これは可変長パラメータの優れた機能です。

PHP 5.6 以降のバージョンでは、関数の仮パラメータで... を使用して、関数が可変数のパラメータを受け入れることができ、可変パラメータが配列として関数に渡されることを示すことができます。 。

必要な PHP の知識はすべてここにあります→php ビデオ チュートリアル

以上がPHP関数でデフォルトパラメータと可変長パラメータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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