てくてくテック

【PHP】変数名の前の$マークや@マークの意味

どーもたかぽんです!

今回はPHPによくでてくるあいつについてのお話...

昔C言語を学んでいた僕からすると、初めて見た時...

え?なんだこれ?ん?ってなりました...w

PHPを使うのであればうじゃうじゃと出てくるのでしっかり理解したいですね!

$マーク(ドルマーク)の意味

いきなりの結論ですが...!

PHPのマニュアルを読んでみると・・・?

PHP の変数はドル記号の後に変数名が続く形式で表されます。

とのことでした。

C言語とかJava,JavaScriptなんかを触っているともっと特殊な何かっ!?とか思ってしまいますが・・・。

ただ、変数ですよー!って意味らしいです。

じゃぁ、定数は?ってことで調べると、define()を使うことで作れるみたいですね。

PHP5.3以降ではもっと楽に

const (変数名)= "Hello World";

といった形式で書けばいいみたいです。(もちろん、定数なので$マークはありません。

よって、ABCと$ABCは全く別ものであるようです。

また、型が宣言されていませんが、PHPが実行時に勝手にやってくれるみたいです。(便利だぁ...

@マークの意味

同じく、マニュアルから調べてみると...

PHP の式の前に付けた場合、 その式により生成されたエラーメッセージは無視されます。

とのことでした。

エラー制御演算子らしいです。

マニュアルに簡易的な使用例もありました。

$value = @$cache[$key];

こうすると、$keyが存在しなくてもエラーを吐かないみたいです。

使用用途がいまいち・・・・わからない?ですね...

少し調べてみると・・・。

例えばデータベース接続の場合、接続に失敗すると、FALSEを返し、Warningを発生させるようです。

その時にそのエラーは承知の上で次の接続がどうなるかみてみたい!といった場合に有効らしいです。

もっと他にも用途はあると思いますが...。

また使う機会がきたら詳しく調べようと思います。

それでわ〜♩

参考URL

こちらの記事を書くに当たり、以下の記事を参考にさせていただきましたっ!

PHPマニュアル(変数)

PHPマニュアル(エラー制御演算子)

それでも僕がエラー制御(抑制)演算子"@"を使う理由

モバイルバージョンを終了