気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHPエラーの原因と対策
  2. 122 view

PHPの関数や変数の前にあるアットマークの意味は?

PHPスクリプトを見ていると関数の前に「@」(アットマーク)が付いているのをみたことがありませんか?

<?php
@file_get_contents("input.txt");

この「@」の用途はエラーを非表示にすることです。「エラー制御演算子」とよばれます。

【参考】PHP: エラー制御演算子

ピンと来ない場合は@を取り除いて実行してみましょう。

<?php
file_get_contents("input.txt");

「input.txt」が存在しない場合、次のようなエラーメッセージ(Warning)が表示されます。ファイルが存在しないので開けない、という警告です。

実行結果
PHP Warning: file_get_contents(input.txt): failed to open stream: No such file or directory in …略….php on line 2

Warning: file_get_contents(input.txt): failed to open stream: No such file or directory in …略….php on line 2

もう一度@を付けて実行してみましょう。

<?php
@file_get_contents("input.txt");

今度は「input.txt」が存在しなくてもエラーメッセージが表示されないはずです。これはエラーがなくなったのではなく、非表示にしただけです。その点、注意してください。

変数の前にある@も同じです。次のコードを実行すると、$aが存在しない場合はエラーメッセージが表示されます。

echo $a;
実行結果
PHP Notice: Undefined variable: …略….php on line 3
Notice: Undefined variable: …略….php on line 3

変数の前にアットマークを付けると上記のNoticeは表示されません。

echo @$a;

PHPエラーの原因と対策の最近記事

  1. PHPの関数や変数の前にあるアットマークの意味は?

  2. 「http:// wrapper is disabled in the server co…

  3. php.iniの場所

  4. 「Warning: array_key_exists()」と表示されるとき

  5. 「Warning: A non-numeric value encountered」と表示…

関連記事

PAGE TOP