array_filter
    (PHP 4 >= 4.0.6, PHP 5)
array_filter -- 
   コールバック関数を使用する配列要素フィルタ
  
説明
array 
array_filter ( array input [, callback callback] )
   array_filter() は、callback
   関数によりフィルタ処理が行われた input
   の全ての要素を含む配列を返します。
   callback 関数が true を返した場合、
   input の現在の値が結果の配列に入ります。
   input が連想配列の場合、
   キーは保存されます。
  
   
例 1. array_filter() の例 
<?php function odd($var) {     return($var & 1); }
  function even($var) {     return(!($var & 1)); }
  $array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array(6, 7, 8, 9, 10, 11, 12);
  echo "Odd :\n"; print_r(array_filter($array1, "odd")); echo "Even:\n"; print_r(array_filter($array2, "even")); ?>
 |  
 上の例の出力は以下となります。 
Odd : Array (     [a] => 1     [c] => 3     [e] => 5 ) Even: Array (     [0] => 6     [2] => 8     [4] => 10     [6] => 12 )
 |  
  | 
  
   コールバック関数によって配列自身を変更することはできません。
   例えば、要素を追加/削除したり、array_filter()
   が適用される配列を unset することはできません。
   配列が変更された場合の子の関数の挙動は未定義です。
  
   もし callback 関数が与えられなかった場合、
   array_filter() は input
   のエントリを全て削除します。これは FALSE と等価です。
   さらなる情報については boolean への変換
   を参照ください。
  
   
例 2. callback がない
    array_filter()
     
<?php
  $entry = array(              0 => 'foo',              1 => false,              2 => -1,              3 => null,              4 => ''           );
  print_r(array_filter($entry)); ?>
 |  
 上の例の出力は以下となります。 Array
(
    [0] => foo
    [2] => -1
) |  
  | 
  
   array_map()、
   array_reduce() および array_walk()
   も参照ください。