配列から空要素を取り除く方法
配列の中から空文字の要素を取り除くには、array_filter()とstrlen()を組み合わせます。
サンプルコード
array_filter()にstrlen()を指定します。strlen()は文字数を返す関数なので、これが偽の値を返せば、array_filter()がその要素を削除してくれる仕組みです。
<?php
$array = [ "a", "", "b", "", "c", false, ] ;
$response = array_filter( $array, "strlen" ) ;
上記は欠点があり、真偽値のfalseも取り除いてしまいます。より厳密に、文字列の空文字だけを取り除きたい場合は下記の通りです。
<?php
$array = [ "a", "", "b", "", "c", false, ] ;
function callback( $a ) {
return !is_string( $a ) || strlen( $a ) ;
}
$response = array_filter( $array, "callback" ) ;
デモ
緩いフィルター
<?php
/*** このコードは編集できます。 ***/
$array = [ "a", "", "b", "", "c", false, 0, ] ;
$response = array_filter( $array, "strlen" ) ;
var_dump( $response ) ;
厳密なフィルター
<?php
/*** このコードは編集できます。 ***/
$array = [ "a", "", "b", "", "c", false, 0, ] ;
function callback( $a ) {
return !is_string( $a ) || strlen( $a ) ;
}
$response = array_filter( $array, "callback" ) ;
var_dump( $response ) ;
関連記事
- 別ページにリダイレクトさせる方法
- ユーザーを別ページにリダイレクトさせるには、header()を利用します。
- 配列のインデックス番号を振り直す方法
- 配列の抜け番などを埋めるためにインデックス番号を振り直すには、array_merge()が手軽です。
- 配列から指定した値を削除する方法
- 配列から指定した値を削除するには、array_search()とunset()を利用しましょう。