0

私はphpで単純な関数を作成しましたが、これが常に設定されていない場合、(オプションの)変数を渡す方法がわかりません。次に例を示します。

myfunction( $var1, $var2, $_POST[example] );

ご覧のとおり、 myfunction は常に呼び出されますが、 $_POST[example] はフォームが既に送信された場合にのみ設定/存在します。

私の質問は、それは正しいですか?$_POST[example] が存在しない場合、エラー/通知は表示されません (通知: 未定義の変数..) が、わかりません...

多分このような方が良いですか?

 myfunction( $var1, $var2, isset($_POST[example]) );
4

5 に答える 5

1

次のように宣言します。

function myfunction( $var1, $var2, $var3=null )
{
}

関数パラメータの詳細については、こちらを参照してください (例 #3を参照)。

2 番目の質問 (通知について) については、$_POST最初の質問を確認する必要があります。

if(isset($_POST['example']))
{
   myfunction($var1, $var2, $_POST['example']);
}
else
{
   myfunction($var1, $var2);
}

または、代わりに:

myfunction($var1, $var2, isset($_POST['example'])?$_POST['example']:null);

その場合、データを正しく処理し、そのためにエラーは表示されません (エラーの抑制によるものではありません)。

于 2013-08-29T07:00:30.547 に答える