関数を呼び出すときは、関数にパラメータを渡す必要があります。関数に渡されるパラメータは実パラメータと呼ばれ、関数で定義されたパラメータは仮パラメータと呼ばれます。関数にパラメータを渡すには、値渡し、参照渡し、デフォルト パラメータ、および可変長パラメータの 4 つの方法があります。
値によるパラメータの受け渡し
デフォルトのパラメータ受け渡し方法は、パラメータを渡すときにデフォルトで使用される方法です。仮パラメータの操作は、実際のパラメータ値には影響しません。 。したがって、関数で実際のパラメータの値を変更したくない場合は、値で渡すことができます。
<?php function test($a){ echo ++$a; } $i=10; test($i); echo '<br/>'.$i; ?>
実行結果:
11 10
実行結果から、関数内の値は確かに変更されていますが、関数の外側では値が変更されていないことがわかります。したがって、関数を値で渡すことは、単に変数のコピーを渡すことであると言えます。したがって、関数が関数の外部パラメーターを操作できるようにしたい場合は、参照渡しを使用する必要があります。
パラメータを参照によって渡す
パラメータを参照によって渡すと、仮パラメータに対する操作が実際のパラメータに影響します。このようにして、関数内のパラメーター自体を操作します。
<?php function test(&$a){ echo ++$a; } $i=10; test($i); echo '<br/>'.$i; ?>
実行結果は次のとおりです:
11 11
関数のデフォルトパラメータ
仮パラメータのデフォルト値を設定できます。値を直接割り当てて設定します
注:右から左に割り当てる必要があります。左の値を割り当てる前に、右の値が存在している必要があります。左側の値が割り当てられ、右側の値が割り当てられない場合、左側の割り当ては行われません。数値
<?php function test($a=10,$b=20){ echo $a+$b; } test(20,25); ?>
の実行結果は 45 です。$a に値のみを割り当てた場合は、呼び出し時に $b に値を代入すると、次の結果が表示されます。
可変長パラメータのリスト
PHP の場合5.6 以降のバージョンでは、関数の仮パラメータで... を使用して、関数が可変数のパラメータを受け入れることができることを示します。 パラメータは配列として関数に渡されます。
<?php function test(...$arr){ print_r($arr); } echo '<pre class="brush:php;toolbar:false">'; test(1, 2, 3, 4); ?>
彼の実行結果は次のとおりであることがわかります:
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP関数パラメータのいくつかの転送方法の詳細な図による説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。