[Header]
目次
はじめに
嫁ちゃん
多次元配列から配列を作るってどういうこと?
なんかややこしくない?
なんかややこしくない?
わたし
多次元って聞くとなんか複雑そうな感じもするね。
表計算ソフトで言うところの1列分のデータを取ってきて、配列を作る感じかな。
表計算ソフトで言うところの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]