関数でのデフォルト引数の使用
PHP 関数を作成するときに、引数のデフォルト値を指定して柔軟性を提供し、必要性を減らすことができます。明示的な割り当て。ただし、関数宣言の後半でパラメーターに異なる引数を設定すると、混乱が生じる場合があります。
次の関数について考えてみましょう:
<code class="php">function foo($blah, $x = "some value", $y = "some other value") { // code here! }</code>
$x のデフォルトの引数を使用し、別の値を設定するには$y の場合は、次のように $x に null を渡すだけです。
<code class="php">foo("blah", null, "test");</code>
これにより、$y のデフォルト値がオーバーライドされながら、デフォルト値「何らかの値」が $x に割り当てられます。
ただし、 $x を変数名で設定しようとしても (例: foo("blah", $x, $y = "test")) 、期待どおりに機能しません。これは、デフォルトの引数は関数定義の最後のパラメータにのみ適用できるためです。
この制限に対処し、より動的な引数の処理を可能にするために、次のように関数宣言を変更できます。
<code class="php">function foo($blah, $x = null, $y = null) { if (null === $x) { $x = "some value"; } if (null === $y) { $y = "some other value"; } // code here! }</code>
このアプローチでは、次のように特定のパラメータに null 値を渡して、デフォルト値を使用しながら他のパラメータをオーバーライドできます。
<code class="php">foo("blah", null, "non-default y value");</code>
この例では、$x はそのデフォルト値を受け取りますが、$ y には、指定されたデフォルト以外の値が割り当てられます。
以上がPHP関数のデフォルト引数を上書きするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。