";"/> ";">

ホームページ >バックエンド開発 >PHPチュートリアル >PHPカスタム関数のパラメータデフォルト値の使い方を詳しく解説

PHPカスタム関数のパラメータデフォルト値の使い方を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-26 10:16:286464ブラウズ

有効な 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 =&#39;mmmmm&#39; ,$para)
{
return $str."和".$para."都是字符串";
}

上記は右から左にデフォルト値に従いませんが、一番左のものはデフォルト値を与えます。

関数 When TestStr3("firstparameter"); を呼び出すと、最初のパラメータがデフォルト値に置き換えられ、2 番目のパラメータが受信パラメータに置き換えられることが期待されます。しかし、これは当てはまりません。パラメータの置換順序は左から右です。そのため、2 番目のパラメータには値が渡されないだけでなく、デフォルト値さえないため、エラーが直接報告されます

。正しいデフォルト値は次のようになります

function TestStr3($str,$para=&#39;mmmmm&#39;)
{
return $str."和".$para."都是字符串";
}

その場合、出力は次のようになります:

最初のパラメータとmmmmmは両方とも文字列です

以上がPHPカスタム関数のパラメータデフォルト値の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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