PHPの多次元配列で、特定のキーの値を指定して各インデックスの要素の値を取得する方法は紹介します。ループを使用して配列を繰り返し処理し、指定したキーの値を取得する方法と array_column
関数を使った方法を紹介します。
以下に例を示します。
例: 多次元配列からキーの値を取得する
サンプルデータ
今回は以下のようなサンプルデータを用います。
<?php
// 多次元配列の例
$people = [
[
'name' => 'Taro',
'age' => 25,
'city' => 'Sendai'
],
[
'name' => 'Hanako',
'age' => 30,
'city' => 'Tokyo'
],
[
'name' => 'Kenji',
'age' => 35,
'city' => 'Osaka'
]
];
foreach を使った方法
まずは、単純に foreach
で回すやり方です。
<?php
// 多次元配列の例
$people = [
[
'name' => 'Taro',
'age' => 25,
'city' => 'Sendai'
],
[
'name' => 'Hanako',
'age' => 30,
'city' => 'Tokyo'
],
[
'name' => 'Kenji',
'age' => 35,
'city' => 'Osaka'
]
];
// 特定のキー 'name' の値を取得する
foreach ($people as $person) {
echo $person['name'] . "\n"; // Taro, Hanako, Kenji の順で出力
}
?>
foreach
ループを使用して、$people
配列の各要素(連想配列)を$person
として繰り返し処理します。- 各
$person
の中のname
キーにアクセスして、その値を取得し、出力しています。
これにより、多次元配列の中から特定のキー(この場合は ‘name’)の値を取得できます。
array_column() を使った方法
foreach
を使わずに、PHPの関数で多次元配列の特定のキーの値を取得する方法として、array_column()
関数が使えます。この関数は、配列から特定のキーに対応する値を一括で取得するのに便利です。
<?php
// 多次元配列の例
$people = [
[
'name' => 'Taro',
'age' => 25,
'city' => 'Sendai'
],
[
'name' => 'Hanako',
'age' => 30,
'city' => 'Tokyo'
],
[
'name' => 'Kenji',
'age' => 35,
'city' => 'Osaka'
]
];
// 特定のキー 'name' の値を取得する
$names = array_column($people, 'name');
print_r($names); // ['Taro', 'Hanako', 'Kenji'] が出力される
?>
説明
array_column()
は、配列の中から特定のキー(この場合は ‘name’)に対応する値を取得します。- 第一引数に多次元配列、第二引数に取得したいキー名を指定します。
- これにより、
$names
には['Taro', 'Hanako', 'Kenji']
という配列が格納されます。
まとめ
array_column()
は、特定のキーの値を一括で取得したい場合にとても便利な関数です。