PHPのサンプルソースをネット上で検索していると、自分が普段使わない言語機能を使っているソースに出くわすことがあります。
たとえば、以下のようなソースの@の意味、すぐに分かりますでしょうか?
$val = @$data[$key];
僕は正直、意味がまったく分かりませんでした。
ポインタのアドレス参照でもないしなー、と思ってネット上で調べようとしたところ、これがなぜだか分からない……
そもそもこの@が文法上のどのカテゴリに入るものなのかがわからなかったので、うまくヒットする検索が中々出来なかったのですね。
結果を言いますと、この@は、
エラー制御演算子
というものでした。
式の前に@をつけた場合、その識により生成されたエラーメッセージは無視されるそうです。
例で示した式の場合、配列$dataの中に$keyがインデックスとして存在していなくても、エラーにはなりません。
本筋としてはエラーはしっかりハンドリングすべきなので、多用すべきものではないかもしれませんが、PHPの文法上許されることなので、知識として持っておいてもいいと思います☆