2014年03月22日

[PHP] 配列の空要素を削除する

フォームで入力させて、入力項目がオプションの時等に、配列が空の場合がある。
計算したい時や空を除いて処理したい時とか、要素としては邪魔なので削除したい。
そんな時には、array_filter()を使用するの方法があるようだ。

配列の空要素を削除する

真ん中が空の配列を作成して、array_filter()を実行してみる。

$valueArray = array(1,2,'',4,5);
print_r($valueArray);
$valueArray = array_filter($valueArray);
print_r($valueArray);

結果は以下のようになる。

Array ( [0] => 1 [1] => 2 [2] => [3] => 4 [4] => 5 ) 
Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 ) 

ちゃんと空の3つめの要素が削除されている。

配列の添え字を振りなおす

array_filter()を実行するだけだと、配列の添え字は元のまま。
添え字でアクセスする場合等は振り直したい。
そういう場合は、array_values()を更に実行すると振り直してくれる。

$valueArray = array(1,2,'',4,5);
$valueArray = array_values(array_filter($valueArray))
print_r($valueArray);

結果は以下のようになり、0、1、3、4だったのが、0、1、2、3に変わっている。

Array ( [0] => 1 [1] => 2 [2] => [3] => 4 [4] => 5 ) 
Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 5 )

なるべく配列の順序には依存しないプログラムにしたいけど、何かあった時には使えそう。

参考

タグ:PHP cakephp
【関連する記事】
posted by lute at 21:00| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/392329036
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。