「お」っていうPHPの書き方
ワンライナー
PHPの思想と言語表現 - Lism.in * blog - nekoya (id:studio-m)
どちらが優れているということではなく、ましてや「PHPは初心者向けの言語」という話でもありません。純粋に思想の違いです。
確かに。たとえば、
<?php $int = intval($string); $int = (int)$string;
ってあった場合、私は前者を好んで使う。実は後者の方が実行速度は速い
itoh@colinux:~$ time php -r '$s="1234567890";for(;;){if($i++>1000000)break;(int)$s;}'
real 0m0.570s
user 0m0.500s
sys 0m0.070s
itoh@colinux:~$ time php -r '$s="1234567890";for(;;){if($i++>1000000)break;intval($s);}'
real 0m1.060s
user 0m0.980s
sys 0m0.080s
だが、(int)を使う人はあまり見ない気がする。なんていうか、そういう感じ。嫌いな人は嫌いなんだろうけど。*1
Perlはコマンドラインからワンライナーで書きたいな〜っていうのもあって、様々な省略記法もあるんだろうけど、PHPでワンライナーがっつり書いたりすると変態くさいとか感じてしまったり(笑)。
でも、たまにある
PHPでも、たま〜にあります。「へぇー」って書き方。そして、ほとんど使いません。
<?php is_null($foo) and $foo = "hoge"; is_null($bar) or $bar = "uki";
<?php switch ($foo){ case $foo > 0 && $foo <=100: echo '\$foo is lower than 100'; break; }
<?php $str = "abcdefghijklmn"; echo $str{10}; // k echo $str[10]; // k
あれ?3つしか上げられない(苦笑)
*1:ただ、さすがにpreg_*とereg_*どっち使うって言われたら、速度を気にしてpreg_*を使います。コストでかいから。