(PHP 5 >= 5.5.0)
array_column — 入力配列から単一のカラムの値を返す
array_column() は、
配列 array
の中から
column_key
で指定した単一のカラムの値を返します。
オプションで index_key
も指定できます。これを指定すると、
入力配列内のカラム index_key
の値に基づいて結果を並べ替えます。
array
値を取り出したい多次元配列 (レコードセット)。
column_key
値を返したいカラム。
取得したいカラムの番号を整数値で指定することもできるし、
連想配列のキーの名前を指定することもできます。
NULL
を指定すると、配列全体を返します
(index_key
との組み合わせで、配列の並べ替えをするときに便利です)。
index_key
返す配列のインデックスとして使うカラム。 カラム番号を表す整数値、あるいはキーの名前を表す文字列になります。
入力配列の単一のカラムを表す値の配列を返します。
例1 レコードセットからのファーストネームの取得
<?php
// データベースから返ってきたレコードセットの例
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
)
);
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>
上の例の出力は以下となります。
Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter )
例2 レコードセットから姓を取得し、"id"で並べ替える例
<?php
// 先ほどの例と同じ $records 配列を使います
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>
上の例の出力は以下となります。
Array ( [2135] => Doe [3245] => Smith [5342] => Jones [5623] => Doe )