配列内の空要素を削除する
ある配列から空の要素(0、空文字、空配列…など)を取り除きたい時は
array_filter関数に突っ込むだけでOKのようです。便利。
ここにゴミ配列があるじゃろ?
$hoge = array( 0 => array(), 1 => array("", ""), 2 => array("a", "b"), 3 => "", 4 => "hoge", );
これをこうして
$hoge2 = array_filter($hoge); print_r($hoge2);
こうじゃ
array( 1 => array("", ""), 2 => array("a", "b"), 4 => "hoge", );
まあ案の定というかなんというか、あくまでふんわりした比較です。
がっちりした感じにするのであれば第二引数に関数名を渡して
array_filter($hoge, "is_null")
とかそういう感じで。
空でない要素をカウントとかに使っている…のですが、もしかして他にもっと賢い書き方あるかなあ。
$hoge_count = count(array_filter($hoge));