1


0

PHPの変数の前にある@記号は何をしますか

次のようなコードが表示されます。

if(@$_POST['myvar'])

この場合、@記号は何をしますか?

2 Answer


6


警告/通知/エラーが出力されないようにします。 たとえば、「$ _ POST ['myvar']」が未定義の場合、PHPは「未定義のインデックス」通知を出力する場合があります。 `@`はその動作を防ぎます。

そうは言っても、警告をarbitrarily意的に抑制することは悪い習慣と見なされます。 代わりに、 `if(isset($ _ POST ['myvar'])&& $ _POST ['myvar'])`で設定されている変数を確認できます


4


これは、先頭に追加した式によって引き起こされるすべてのエラーメッセージ、警告、または通知を抑制します。 この場合: `if(@ $ _ POST ['myvar'])`これはおそらく、元の作者が `$ _POST ['myvar']`が設定されていない場合に通知を発行したくないために使用されています。