トップへ(mam-mam.net/)

PHPでエラーが発生しても無視するには

検索:

「PHPでエラーが発生しても無視するには」

PHPでエラーが発生しても無視して実行するようにするには
エラー演算子(@)

回答

phpはエラー演算子(@)というものがあり、@を付けるとエラーを無視して実行します。

ソース

$hoge["a"]=1;
$hoge["b"]=2;
echo $hoge["c"]; //ここでエラー(警告)

以下が出力される
Notice: Undefined index: c in /var/www/htdocs/a.php on line 3

-----------------------------------------------------------
$hoge["a"]=1;
$hoge["b"]=2;
echo @$hoge["c"]; //ここでエラー(警告)ですが、何も出力されない

-----------------------------------------------------------
echo (10/0); //ここでエラー(警告)

以下が出力される
Warning: Division by zero in /var/www/htdocs/a.php on line 1
 INF

-----------------------------------------------------------
echo @(10/0); //ここでエラー(警告)

以下が出力される
 INF

-----------------------------------------------------------
$lines = file('http://mam-mam.net/hoge.html'); //存在しないURL

以下が出力される
Warning: file(http://mam-mam.net/hoge.html): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Foundin /var/www/htdocs/a.php on line 1
-----------------------------------------------------------
$lines = @file('http://mam-mam.net/hoge.html'); //存在しないURL

何も出力されなくなる
-----------------------------------------------------------
$lines = file('/var/tmp/log.txt'); //存在しないファイル

以下が出力される
Warning: file(/var/tmp/log.txt): failed to open stream: No such file or directory in /var/www/htdocs/a.php on line 1
-----------------------------------------------------------
$lines = @file('/var/tmp/log.txt'); //存在しないファイル

何も出力されなくなる