";"/> ";">
ホームページ >バックエンド開発 >PHPチュートリアル >PHPカスタム関数のパラメータデフォルト値の使い方を詳しく解説
有効な PHP コードは、他の関数やクラス定義も含め、関数内に出現する可能性があります。
関数名には、PHP の他の識別子と同じ命名規則があります。有効な関数名は文字またはアンダースコアで始まり、その後に文字、数字、またはアンダースコアが続きます。
は、正規表現 で次のように表すことができます: [a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*。
phpカスタム関数パラメータを受け入れるとき、デフォルト値を直接割り当てることができます
function TestStr($str) { return $str."是一个字符串"; } echo TestStr("abcdef")."</br>";
上記のカスタム関数は、パラメータが指定されていない場合はどうなりますか?
直接エラーが発生しました: 警告: TestStr() の引数 1 がありません
そのため、開発プロセス中に上記のエラーを回避するために、通常、次のように関数をカスタマイズするときにパラメータにデフォルト値を割り当てます
function TestStr2($str="kkkkk") { return $str."是一个字符串"; }
ここで TestStr2 を呼び出します() エラーなしで、直接出力 kkkkk は文字列です。もちろん、デフォルトのパラメータはパラメータを渡した後に置き換えられます。
3 つ以上のパラメータがある場合、すべてのデフォルト値が一致しているわけではありません。指定された場合は、必ず指示に従ってください。パラメータは右から左に順番にデフォルト値を与えます。以下はエラーの例です
function TestStr3($str ='mmmmm' ,$para) { return $str."和".$para."都是字符串"; }
上記は右から左にデフォルト値に従いませんが、一番左のものはデフォルト値を与えます。
関数 When TestStr3("firstparameter"); を呼び出すと、最初のパラメータがデフォルト値に置き換えられ、2 番目のパラメータが受信パラメータに置き換えられることが期待されます。しかし、これは当てはまりません。パラメータの置換順序は左から右です。そのため、2 番目のパラメータには値が渡されないだけでなく、デフォルト値さえないため、エラーが直接報告されます
。正しいデフォルト値は次のようになります
function TestStr3($str,$para='mmmmm') { return $str."和".$para."都是字符串"; }
その場合、出力は次のようになります:
最初のパラメータとmmmmmは両方とも文字列です
以上がPHPカスタム関数のパラメータデフォルト値の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。