【PHP】多次元配列から指定カラムの配列を作成する array_column()

  • URLをコピーしました!

[Header]

目次

はじめに

嫁ちゃん
嫁ちゃん
多次元配列から配列を作るってどういうこと?
なんかややこしくない?
わたし
わたし
多次元って聞くとなんか複雑そうな感じもするね。
表計算ソフトで言うところの1列分のデータを取ってきて、配列を作る感じかな。

概要

二次元配列は、表ではこのようになりますね。

番号氏名フリガナ年齢
1山田 太郎ヤマダ タロウ45
2宇宙 ひろしウチュウ ヒロシ100
3山本 リンダヤマモト リンダ20

ここから「氏名」の列を抜き出して、配列をつくるとこうなります。

↓↓↓

氏名
山田 太郎
宇宙 ひろし
山本 リンダ

「多次元配列から指定カラムの配列を作成する」とはこのようなイメージです。

array_column関数

array_column ( array $input , mixed $column_key [, mixed $index_key = NULL ] ) : array

array_column() は、 配列 input の中から column_key で指定した単一のカラムの値を返します。 オプションで index_key も指定できます。 これを指定すると、 入力配列内のカラム index_key の値をキーとし、 カラム column_key を値とした配列が返されます。

コード

<?php 
$arr = [
            [
                'No' => 1,
                'Name' => '山田 太郎',
                'Furigana' => 'ヤマダ タロウ',
                'age' => 45
            ],
            [
                'No' => 2,
                'Name' => '宇宙 ひろし',
                'Furigana' => 'ウチュウ ヒロシ',
                'age' => 100
            ],
            [
                'No' => 3,
                'Name' => '山本 リンダ',
                'Furigana' => 'ヤマモト リンダ',
                'age' => 20
            ]
];

$column = array_column($arr, 'Name');

print_r($arr);
print_r($column);
?>

実行結果

多次元配列の列「Name」から配列を作成した結果になります。

Array
(
    [0] => Array
        (
            [No] => 1
            [Name] => 山田 太郎
            [Furigana] => ヤマダ タロウ
            [age] => 45
        )

    [1] => Array
        (
            [No] => 2
            [Name] => 宇宙 ひろし
            [Furigana] => ウチュウ ヒロシ
            [age] => 100
        )

    [2] => Array
        (
            [No] => 3
            [Name] => 山本 リンダ
            [Furigana] => ヤマモト リンダ
            [age] => 20
        )

)
Array
(
    [0] => 山田 太郎
    [1] => 宇宙 ひろし
    [2] => 山本 リンダ
)

おわりに

嫁ちゃん
嫁ちゃん
たしかに表計算の列の値を使って配列を作る感じですねー♪
わたし
わたし

そうだね作った配列は表計算ソフトの別シートに貼り付けた感じだね。

[A8_TechAcademy065]
[Footer]

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次