http://blog.tojiru.net/article/403698034.html の記事で、switch文の例として上げられてたコード
<?php switch (true) { case 0: echo '数字の0'; break; case '0': echo '文字列の0'; break; case '0.0': echo '文字列の0.0'; break; case true: echo '真偽値のtrue'; break; }
これ、配列でテーブル作れば簡潔にかけるんじゃ?と思って試してみた。
<?php $tbl = array( 0 => '数字の0', '0' => '文字列の0', '0.0' => '文字列の0.0', true => '真偽値のtrue'); echo $tbl[0]; echo $tbl['0']; echo $tbl['0.0']; echo $tbl[true]; ?>
簡潔!素敵!
でも、実はこれ、一部正しく動作しません。実行すると結果は
文字列の0 文字列の0 文字列の0.0 真偽値のtrue
というわけで、今回のコードは良い例になりませんでしたが、言いたいことをまとめると
以上です。
*1:何故このような謎な挙動になるのか?気になる人は var_dump($tbl)するか、array のマニュアルを読みましょう。