-
ID:TYsZZP さんの質問

PHPのif文についてなんですが、他のプログラマーが書いたコードを読んでいたら、

if( !!$aaa ){ //処理 }

という記述がありました。この「!!」はどういう意味で、どういった場合に使うんでしょうか。これは一般的な書き方なんでしょうか。

情報を検索しようとしたんですが、検索対象が記号なので、どうにもうまく検索できません。よろしくお願い致します。

みんなの回答 4 件

ID:TYsZZP さんの回答

実行結果をみると、

if( $aaa ){ //処理 }

と同じっぽいんですけど、あえて「!!」にしている意味が分かりません。何か特別な意味があるんでしょうか・・・。

ID:RJmEkP さんの回答

私は見た事ないですね。普通に考えたら否定の否定で肯定になりそうですけど、そうなると通常使うケースってないですよね(汗)

ID:TYsZZP

ありがとうございます。
私も「否定の否定」としか読めずに困っていました。

ID:4IE2TK さんの回答

キャストってやつだよ。$aaaが何であれtrue/falseに変換される。

ID:TYsZZP

ありがとうございます!
「キャスト」を含めて調べてみたら分かってきました。$aaaに入れる値によっては、この書き方の方が正確に判定できたりもするってことですね。

ID:8MitkQ

ちゃうぞ。bool型へのキャストを短く書く慣用句でしかない。
PHPでは暗黙の型変換でキャスト自体がほとんど要らないので
今回の場合の !! も無意味。コード書いた奴が C など他の言語に
習熟しているから出た、昔の癖。

ID:BpTWEx さんの回答

(bool)$aaaだとなにがだめなん?

最終更新日:2014-06-10 (2,510 views)

関連するトピックス

ページ上部に戻る