phpで配列に対して条件で絞り込む方法を解説します。
| 1 2 3 4 5 | $fruits = array( 	'ichigo'   => 'red', 	'ringo'     => 'red', 	'banana' => 'yellow', ); | 
上記のような果物の配列から、色が赤(red)のものだけ取得したいといった時には、array_filter()という関数がとても便利です
array_filter関数とは?
array_filter関数では配列に対して、条件での絞り込みをすることが可能です
使い方は、第一引数にフィルタリングする配列、第二引数にコールバック関数を指定します。
下記の例では、is_red()という色が赤かどうかを判別する関数を作成し、コールバック関数に指定しています。
例
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $fruits = array( 	'ichigo' => 'red', 	'ringo'  => 'red', 	'banana' => 'yellow', ); function is_red($fruit) {     // 赤の場合のみ値を返す     return($fruit == 'red'); } $red_fruits = array_filter($fruits,'is_red'); print_r($red_fruits); | 
出力結果
| 1 2 3 4 5 | Array (     [ichigo] => red     [ringo] => red ) | 
array_filterでは空を除外することもできる
array_filterは空を除外する際にも便利です。
また無名関数を使うことも可能です。
例:無名関数で空を除外する方法
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $array = array(    1 => '空じゃない',    2  => '',    3 => '空じゃない', ); $array = array_filter($array, function($data) {    if (!empty($data)) {       return true;    } else {       return false;    } }); print_r($array); | 
出力結果
| 1 2 3 4 5 | Array (     [1] => 空じゃない     [3] => 空じゃない ) | 
array_filterは非常に便利な関数なので、使えるようになると配列を扱いやすくなります。