前回の記事では、パラメータとは何か、関数の作成方法、仮パラメータと実パラメータについて学びました。必要に応じて、「php関数の仮パラメータと実パラメータとは何を意味するのですか?」も読んでください。 」 》。今回はパラメータについて詳しく見て、関数にパラメータを渡す際の値による受け渡しを紹介します。
関数にパラメーターを渡すには、値の受け渡し、参照の受け渡し、デフォルトのパラメーター、および可変長パラメーターの 4 つの方法があります。今回はパラメータを値で渡す方法を紹介します。
まず小さな例を見てみましょう。
<?php 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; ?>
出力結果は
函数外,交换前 $x = 5, $y = 7 函数内,交换前 $a = 5, $b = 7 函数内,交换后 $a = 7, $b = 5 函数外,交换后 $x = 5, $y = 7
です。この例では、関数内では確かに値が交換されていますが、関数の外では値が変化していないことがわかります。
この小さな例を通して。パラメーターを値で渡すことについても一般的に理解しています。これについては、以下で詳しく紹介します。
値による受け渡しは、PHP の関数のデフォルトの値受け渡し方法であり、「コピー値の受け渡し
」とも呼ばれます。名前が示すように、値転送メソッドはパラメータの値をコピーし、それを関数の仮パラメータに転送します。したがって、関数内でパラメータの値を操作しても、関数外のパラメータには影響しません。したがって、関数でパラメータの値を変更したくない場合は、パラメータを値で渡すことができます。
上記の例と同様に、関数内では確かに値が交換されますが、関数の外では値は変わりません。したがって、関数を値で渡すことは、単に変数のコピーを渡すことであると言えます。したがって、関数が関数の外部パラメーターを操作できるようにしたい場合は、参照渡しを使用する必要があります。
あなたが欲しいphpの知識はここにあります→ →phpビデオチュートリアル
以上がPHP関数でパラメータを値で渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。