重複の可能性:
参照 - この記号は PHP で何を意味しますか?
以下のコードは機能しますが、有効かどうかはわかりません。
// It should print $param or $_GET['uuu'] if isset:
function test($param) {
echo @$_GET['uuu'] ? $_GET['uuu'] : $param;
}
test('param');
提案をありがとう。
重複の可能性:
参照 - この記号は PHP で何を意味しますか?
以下のコードは機能しますが、有効かどうかはわかりません。
// It should print $param or $_GET['uuu'] if isset:
function test($param) {
echo @$_GET['uuu'] ? $_GET['uuu'] : $param;
}
test('param');
提案をありがとう。
有効でなければ機能しません。
単にキーストロークを節約したり、コードをきれいに見せたりする@
代わりに使用するのは、本当にひどい習慣です。それが行うことは、変数が設定されているかどうかに関係なくisset()
変数にアクセスしようとし、変数が存在しない場合に必然的に発生するを抑制します。E_NOTICE
@
そのため、その目的のために設計されていないため、変数のチェックには使用しないでください。isset()
その目的に役立つ使用:
echo isset($_GET['uuu']) ? $_GET['uuu'] : $param;
@
$_GET['uuu']
存在しない場合、警告メッセージを抑制します。これは、役に立つ可能性のあるエラー メッセージを隠してしまうため、通常は推奨される方法ではありません。たとえば、この例では、$_GET['uuu']
が本当に設定されていないのか、サーバーform
に送信されない html にエラーがあるのかわかりません。uuu
@ 記号は、エラーと警告を無視するためにのみ使用されます。それを使用するのは良い習慣ではありません。使用しないことをお勧めします。
機能は有効です。