演算子 @ の意味
なるほど、エラー表示をさせたくない時にはこの演算子を使う
ことで制御できるなぁ~
エラー制御演算子
PHPは、エラー制御演算子(@)をサポートしています。PHPの式の前に付け た場合、その式により生成されたエラーメッセージは無視されます。
track_errors機能が有効の場 合、式により生成されたエラーメッセージはグローバル変数
$php_errormsgに保存されます。この変数は、誤差発生の度に上書きされ、 このため、この変数を使用したい場合には速やかに確認する必要がありま
す。
<?php
/* 意図的なエラー */
$my_file = @file ('non_existent_file') or
die ("Failed opening file: error was '$php_errormsg'");
// この演算子は関数だけでなく、全ての式で動作します。
$value = @$cache[$key];
// インデックス $key が存在しない場合でも、警告を発生しません。
?>
注意: @演算子は、式でのみ動作します。基本的なルールは次のようになります。値を得ることができるものの場合、@演算子を前に付けることが可能です。
例えば、変数、関数、include()コール、定数等の前にこの演算子をつけることが可能です。関数またはクラスの定義や
ifやforeach等のような条件構造の前にこの演算子を付けることはできません。
error_reporting()も参照下さい。