配列操作

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

皆さん、こんにちは(こんばんは)、「大-はなまる(@oooohanamaru)」です。

はじめに

嫁ちゃん
嫁ちゃん
多次元配列から配列を作るってどういうこと?
なんかややこしくない?
わたし
わたし
多次元って聞くとなんか複雑そうな感じもするね。
表計算ソフトで言うところの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] => ヤマダ タロウ 日付未入力 => 45 ) [1] => Array ( [No] => 2 [Name] => 宇宙 ひろし [Furigana] => ウチュウ ヒロシ 日付未入力 => 100 ) [2] => Array ( [No] => 3 [Name] => 山本 リンダ [Furigana] => ヤマモト リンダ 日付未入力 => 20 ) ) Array ( [0] => 山田 太郎 [1] => 宇宙 ひろし [2] => 山本 リンダ )

おわりに

嫁ちゃん
嫁ちゃん
たしかに表計算の列の値を使って配列を作る感じですねー♪
わたし
 
そうだね作った配列は表計算ソフトの別シートに貼り付けた感じだね。
この記事がお役に立ちましたら幸いです。
ブログランキングに参加しております。よろしければクリックお願いいたします。
にほんブログ村 IT技術ブログ PHPへ
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。
タイトルとURLをコピーしました