プログラミングやる前に先お風呂はいっちゃいなさい

1611月/081

PHPでのif文の省略した書き方

PHPに限った話でもないですが、if文の条件文のところを

if (preg_match($regexp, $string, $matches))
{
 ...
}

とか書きますでしょう。

これ、他の人のソースコード見るとよく出てくるんですが、どうもbooleanに自動的にキャストされる事を期待した条件文みたいです。

上に書いたコードのpreg_matchって関数は指定した正規表現にマッチする部分文字列があった場合、その個数をint返します。

PHPではintの0はbooleanのFALSEに自動的にキャストされるようで、つまり『マッチした場合だけこのif文に入る』というのを期待したものだったんですよ。

で、ちょっと調べてみたら、こんな記事が。
今後参考にしたいと思います。

PHP、if文のTRUE・FALSEの解釈(booleanへの自動変換)

http://www.res-system.com/weblog/item/127

Tagged as: 1 Comment