2011-12-30 20 views
0

私はコードを見てきました本当に$argのデフォルト値を使用する方法は右、ありません。この複数引数の関数の最初の引数のデフォルト値は冗長か?

function my_func($arg1 = '', $arg2, $arg3) { ... 

のようないくつかの回? $arg2以上が必要なので、いつも$arg1の値を指定する必要がありますか? $arg1はそのデフォルト値を決して使用しないという意味ですか?

+0

にもかかわらず、そうすることを間違っていますPythonではまったく許可されていませんし、これには何の使用も見ません。 – Blender

答えて

4

PHPは厳しい警告を表示しますが、お勧めできません。ただし、最初の引数はオプションではないように動作します。だからあなたは正しい:デフォルト値は決して使用されない。あなたがそれを自分で設定する以外は(何もデフォルト値のようには感じない)。

+0

合意。レガシーコードを扱っていて、関数内にハンドラを書き込む場合(つまり、最初の値がNULLになってからis_null($ arg1)句を持つ場合)、プリセット値を最初の引数として渡すことができます。関数定義の引数を並べ替えます。 –

1

はい、あなたは正しいです、このISNを、PHPは、このような場合にエラーや警告が表示されませんが、何か良いIDEが警告が表示されます...

enter image description here

+0

PHPは正しく設定したときに 'E_STRICT'警告をトリガします。 – KingCrunch