« PHP:array_reduce()関数 | メイン | PHP:array_merge()関数・array_merge_recursive()関数 »

2005年11月21日

PHP:array_filter()関数

array_filter()関数は、指定した配列の各要素に対してユーザ定義関数(function)を実行し、条件にマッチする要素のみで構成された配列を返します。

array_filter($ARRAY, $functionName);
$ARRAY:値を取り出す配列
$functionName:ユーザ定義関数を指定

※ユーザ定義関数は、配列の要素を受け取り、TRUEかFALSEを返すものである必要があります。ユーザ定義関数がTRUEを返した要素のみ、array_filter()関数の実行結果の配列に格納されます。

function myFiltering($ARRAY){
    return(count($ARRAY) >= 2);  //要素数が2以上の場合TRUEを返します。
}

$ARRAY1 = array(array(1), array(1, 2), array(1, 2, 3));
$NEWARRAY = array_filter($ARRAY1, "myFiltering");
print_r($NEWARRAY);

※上記の結果、「ARRAY([1]=>ARRAY([0]=>1 [1]=>2) [2]=>ARRAY([0]=>1 [1]=>2 [2]=>3))」を出力します。

※指定配列$ARRAYが連想配列の場合、キーは維持されます。

投稿者 wing : 2005年11月21日 01:06

コメント