array_filter – PHPの配列で条件に当てはまる要素を取り出す

DBから取って来た結果から、特定条件に当てはまる要素のみ取り出したかったので。
具体的にはフィルタリングするためのコールバック関数を作って、array_filterを実行します。

例)男性であるレコードのみ取り出す場合

  1. create_functionでコールバック関数を作成します。create_functionでなくとも普通にfunction作っても構わないのですが、フィルタリングする為の条件を動的に変えたい場合などに有効です。1番目の引数$recordは配列の各要素になります。ここでの変数名は何でも構いません。2番目の引数がコールバック関数の実際の処理部になります。ここでtrueが返る要素のみ取り出されます。
  2. フィルタリングする配列、コールバック関数を引数にし、array_filterにて実際に要素をフィルタリングしています。その結果を$male_onlyに代入します。

結果

Array
    (
        [0] => Array
            (
                [name] => 田中 太郎
                [sex] => 1
            )
 
        [2] => Array
            (
                [name] => 鈴木 太郎
                [sex] => 1
            )
 
    )

*添字が元のままであることに注意

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">