ホームページ  >  記事  >  バックエンド開発  >  PHP関数のパラメータ割り当てにはどのような種類がありますか?

PHP関数のパラメータ割り当てにはどのような種類がありますか?

青灯夜游
青灯夜游オリジナル
2022-04-24 12:10:223224ブラウズ

PHP 関数には 3 つのタイプのパラメータ割り当てがあります: 1. 値渡しの割り当て、実パラメータの値をコピーして関数の仮パラメータに割り当てます; 2. 参照渡しの割り当て、コピー実パラメータのメモリ アドレス 次に 1 つのコピーが関数の仮パラメータに渡され、次に実パラメータの値が仮パラメータに割り当てられます; 3. 関数のパラメータのデフォルト値を直接指定します。構文は次のとおりです。 「関数名(パラメータ変数 = '値')」。

PHP関数のパラメータ割り当てにはどのような種類がありますか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php 関数は 3 型:

1. 値の転送割り当て

2. 参照転送の割り当て

3. デフォルトのパラメータ値

以下詳しい紹介をさせていただきます。

1. 値の受け渡し割り当て

値の受け渡しは、PHP の関数のデフォルトの値の受け渡し方法であり、「値によるコピー受け渡し」とも呼ばれます。

名前が示すように、値割り当てメソッドは実パラメータの値をコピーして関数の仮パラメータに渡すため、関数内でパラメータの値を操作しても実際のパラメータには影響しません。関数外のパラメータ。

したがって、関数で実際のパラメーターの値を変更したくない場合は、値で渡すことができます。

例:

<?php
header('content-type:text/html;charset=utf-8');   
function swap($a, $b){
    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>';
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>';
}
$x = 5;
$y = 7;
echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>';
swap($x, $y);
echo '函数外,交换后 $x = '.$x.', $y = '.$y;
?>

PHP関数のパラメータ割り当てにはどのような種類がありますか?

2. 参照渡しの代入

パラメータを参照によって渡すとは、渡すことを意味します。実パラメータ メモリアドレスのコピーを作成して関数の仮パラメータに渡し、実パラメータの値を仮パラメータに代入します。

実パラメータと仮パラメータは両方とも同じメモリ アドレスを指すため、仮パラメータに対する関数の操作は関数の外部の実パラメータに影響します。

参照渡しとは、実パラメータのメモリアドレスを関数の仮パラメータに渡すことです。したがって、実パラメータと仮パラメータは同じメモリ アドレスを指します。このとき、関数内のすべての操作は関数の外の実パラメータの値に影響を与えます。参照渡しの方法は、次に示すように、値の受け渡しに基づいて & シンボルを追加することです。

function name (&参数1, &参数2, ..., &参数3) {
    ...    
}

例:

<?php
header('content-type:text/html;charset=utf-8');   
function swap(&$a, &$b){
    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>';
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>';
}
$x = 5;
$y = 7;
echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>';
swap($x, $y);
echo '函数外,交换后 $x = '.$x.', $y = '.$y;
?>

PHP関数のパラメータ割り当てにはどのような種類がありますか?

##3. デフォルトのパラメータ値

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

関数のデフォルトのパラメータは次のとおりです:

function name ($str = '默认值', $url) {
    echo $str;  
}

シェイプ参加者のデフォルト値を接続するには、

= を使用する必要があります。

例:


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

PHP関数のパラメータ割り当てにはどのような種類がありますか?

デフォルト パラメータは複数にすることもでき、デフォルト パラメータは、デフォルト以外のパラメータ、および指定されたデフォルト パラメータの値は、数値や文字列などの特定の値である必要があり、変数にすることはできません。


<?php
function add($a, $b=33, $c=57){
    echo $a.' + '.$b.' + '.$c.' = '.($a+$b+$c).'<br>';
}
add(11);
add(31, 22);
add(64, 9, 7);
?>

PHP関数のパラメータ割り当てにはどのような種類がありますか?

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHP関数のパラメータ割り当てにはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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