explode()で空文字列""
を分解しようとすると、「空文字を要素として含む配列」が返ってくる。
var_dump(explode(' ', ''));
//array("")
この挙動がキモイというか、不便。。個人的には「空配列」になってほしいと思う。
implode()とexplode()を重ねると、元の配列に戻らない。。
$arr = array();
$str = implode(' ', $arr);
var_dump($str); //(空文字)
$arr = explode(' ', $str);
var_dump($arr); //[''] ←ちょwwww
面倒くさいけど3項演算子を合わせて防ぐ感じかな。
$arr = array();
$str = implode(' ', $arr);
var_dump($str); //(空文字)
$arr = ($str==='') ? array() : explode(' ', $str);
var_dump($arr); //(空配列)
$str ?
で条件判定に手抜きをすると、$str==='0'だったときに判定が逆転しておかしくなります。