PHPのif文についてなんですが、他のプログラマーが書いたコードを読んでいたら、
if( !!$aaa ){ //処理 }
という記述がありました。この「!!」はどういう意味で、どういった場合に使うんでしょうか。これは一般的な書き方なんでしょうか。
情報を検索しようとしたんですが、検索対象が記号なので、どうにもうまく検索できません。よろしくお願い致します。
実行結果をみると、
if( $aaa ){ //処理 }
と同じっぽいんですけど、あえて「!!」にしている意味が分かりません。何か特別な意味があるんでしょうか・・・。
私は見た事ないですね。普通に考えたら否定の否定で肯定になりそうですけど、そうなると通常使うケースってないですよね(汗)
ありがとうございます。私も「否定の否定」としか読めずに困っていました。
キャストってやつだよ。$aaaが何であれtrue/falseに変換される。
ありがとうございます!「キャスト」を含めて調べてみたら分かってきました。$aaaに入れる値によっては、この書き方の方が正確に判定できたりもするってことですね。
ちゃうぞ。bool型へのキャストを短く書く慣用句でしかない。PHPでは暗黙の型変換でキャスト自体がほとんど要らないので今回の場合の !! も無意味。コード書いた奴が C など他の言語に習熟しているから出た、昔の癖。
(bool)$aaaだとなにがだめなん?
みんなの回答 4 件
実行結果をみると、
if( $aaa ){ //処理 }
と同じっぽいんですけど、あえて「!!」にしている意味が分かりません。何か特別な意味があるんでしょうか・・・。
私は見た事ないですね。普通に考えたら否定の否定で肯定になりそうですけど、そうなると通常使うケースってないですよね(汗)
キャストってやつだよ。$aaaが何であれtrue/falseに変換される。
(bool)$aaaだとなにがだめなん?
関連するトピックス