配列 関数
PHP Manual

array_column

(PHP 5 >= 5.5.0)

array_column入力配列から単一のカラムの値を返す

説明

array array_column ( array $array , mixed $column_key [, mixed $index_key = null ] )

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
)


配列 関数
PHP Manual