【php】空文字の要素を配列から取り除きたい
問題
以下の配列から、
$a = array('あろは', 'おはよう', '', 'おやすみ', '');
空文字の要素を取り除きたい。
foreach ($a as $k => $v) { if ($v === '') { unset($a[$k]); } }
みたいなことをしますか? 1行で書くには?
答え
array_filter関数を使うと1行で書ける。
$a = array_filter($a, 'strlen');
strlen関数がfalseに相当する値(つまり0)を返す要素は、array_filter関数の結果に含まれない。
めでたく、空文字が削除されます。
array(3) { [0]=> string(6) "あろは" [1]=> string(8) "おはよう" [3]=> string(8) "おやすみ" }
コメント