キャスト
http://blog.bmedianode.com/2005/09/php_array_.html
PHPの基本型をarrayにキャストできます。できることは知ってましたが、なんとなく不安なので使ってませんでした。is_array()で配列じゃなかったらarray()で括ってました。
効率はどうなんだろうということで簡単にテストしました。
function cast($var) { return (array)$var; } function if_array($var) { return is_array($var)? $var: array($var); } function getTime() { return explode(" ", microtime(true)); } function diff($time) { list($m_end, $s_end) = getTime(); $m_start = $time[0]; $s_start = $time[1]; return ($s_end - $s_start) + ($m_end - $m_start); } $st = getTime(); for($i=0;$i<500;++$i){ cast('foo'); } print "cast:". diff($st) . "sec<br>\n"; $st = getTime(); for($i=0;$i<500;++$i){ if_array('foo'); } print "array:". diff($st) . "sec<br>\n";
結果は
cast:0.014706sec array:0.023222sec
キャストの方が効率よいみたいです。
NULLのときだけ気をつける必要がありますが、今後はキャスト使おうかなと思います。