私のような多くの新しい PHP ユーザーは、PHP を学習しているときにこの問題にイライラしたことがあると思います。 @(アット) 記号は具体的に何をするのでしょうか?
以前、他の人のソースコードをダウンロードして見てみたら、無数の @ マークがあり、最初はコメントだと思っていましたが、後で @ 以降のステートメントも実行されることがわかりました。迷ったんだけど、このマークは何なんだろう…
さらに学び続けていくうちに、ようやく理解できました。このマークの機能は、ASP の無視されるエラー「次のエラー再開時」に似ています。それらの機能は同じです。PHP インタープリターは、@ で始まるステートメントを検出すると、この行のステートメントが正常に実行されたかどうかに関係なく、エラーを報告せずに後続のステートメントを実行し続けます。ただし、@(アット)マークは現在の行でのみ機能することに注意してください。
@(at) に関する質問はここで終わりとしたいと思います。
例: 次の文は間違いなくエラーを報告します
エラーコード
コードは次のとおりです | コードをコピー |
$sql = mysql_connect(*);
?>
|
ただし、@(アット)マークを付けるとエラーは報告されずに実行が継続されます。
エラーコードはありません
コードをコピー | |
@$sql = mysql_connect(*);
エコー「実行しています」 ; ?> |
コードをコピー | |
|
ただし、「index.php」の後にページキーワードがない場合や、$_GET['page']が存在しない場合など、エラーが発生した場合は、この時点では無視して大丈夫です。 @の小さなエラー。
別の例:
コードをコピー | |
|
コードをコピー | |
|