PHPでエラーが発生しても無視する方法 ~サンプルソースコード
PHPでエラー制御演算子「@」を使うとエラーが発生しても無視することが出来ます。
定義されていない変数を使用した場合
以下ソースコードでは定義されていない変数「$a」「$b」を使用したためエラー(警告)が表示されます。
php > echo 2 + $a + $b; Warning: Undefined variable $a in php shell code on line 1 Warning: Undefined variable $b in php shell code on line 1 2 php >
以下ソースコードでは定義されていない変数「$a」の前にエラー制御演算子「@」を使用したためエラー(警告)が表示されません。
php > echo 2 + @$a + @$b; 2 php >
以下ソースコードでは定義されていない連想配列「$a["a"]」を使用したためエラー(警告)が表示されます。
php > $a=24; php > echo 2 + $a["a"]; Warning: Trying to access array offset on value of type int in php shell code on line 1 php >
以下ソースコードでは定義されていない連想配列「$a["a"]」の前にエラー制御演算子「@」を使用したためエラー(警告)が表示されません。
php > $a=24;
php > echo 2 + @$a["a"];
2
php >
関数に使用した場合
例えば存在しないファイルをfile関数で開くとエラー(警告)が表示されます。
php > $a=file("存在しないファイル.csv"); Warning: file(存在しないファイル.csv): Failed to open stream: No such file or directory in php shell code on line 1 php > echo $a; php >
関数の前にエラー制御演算子「@」を使用するとエラー(警告)が表示されません。
php > $a= @file("存在しないファイル.csv");
php > echo $a;
php >