ホームページ  >  記事  >  バックエンド開発  >  PHP関数パラメータのいくつかの転送方法の詳細な図による説明

PHP関数パラメータのいくつかの転送方法の詳細な図による説明

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-03-18 11:38:363413ブラウズ

関数を呼び出すときは、関数にパラメータを渡す必要があります。関数に渡されるパラメータは実パラメータと呼ばれ、関数で定義されたパラメータは仮パラメータと呼ばれます。関数にパラメータを渡すには、値渡し、参照渡し、デフォルト パラメータ、および可変長パラメータの 4 つの方法があります。

値によるパラメータの受け渡し

デフォルトのパラメータ受け渡し方法は、パラメータを渡すときにデフォルトで使用される方法です。仮パラメータの操作は、実際のパラメータ値には影響しません。 。したがって、関数で実際のパラメータの値を変更したくない場合は、値で渡すことができます。

<?php
function test($a){
  echo ++$a;
}
$i=10;
test($i);
echo &#39;<br/>&#39;.$i;
?>

実行結果:

11
10

実行結果から、関数内の値は確かに変更されていますが、関数の外側では値が変更されていないことがわかります。したがって、関数を値で渡すことは、単に変数のコピーを渡すことであると言えます。したがって、関数が関数の外部パラメーターを操作できるようにしたい場合は、参照渡しを使用する必要があります。

パラメータを参照によって渡す

パラメータを参照によって渡すと、仮パラメータに対する操作が実際のパラメータに影響します。このようにして、関数内のパラメーター自体を操作します。

<?php
function test(&$a){
  echo ++$a;
}
$i=10;
test($i);
echo &#39;<br/>&#39;.$i;
?>

実行結果は次のとおりです:

11
11

関数のデフォルトパラメータ

仮パラメータのデフォルト値を設定できます。値を直接割り当てて設定します

注:右から左に割り当てる必要があります。左の値を割り当てる前に、右の値が存在している必要があります。左側の値が割り当てられ、右側の値が割り当てられない場合、左側の割り当ては行われません。数値

<?php
function test($a=10,$b=20){
  echo $a+$b;
}
test(20,25);
?>

の実行結果は 45 です。$a に値のみを割り当てた場合は、呼び出し時に $b に値を代入すると、次の結果が表示されます。

PHP関数パラメータのいくつかの転送方法の詳細な図による説明

可変長パラメータのリスト

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

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

彼の実行結果は次のとおりであることがわかります:

PHP関数パラメータのいくつかの転送方法の詳細な図による説明

推奨学習: 「PHP ビデオ チュートリアル

以上がPHP関数パラメータのいくつかの転送方法の詳細な図による説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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