【PHP入門】多重配列中の同じキーの値を取得し新しい配列を作る

所有時間1分

今回はPHPの「array_column」を使って多重配列中の同一カラムキーの値を取得し、新しい配列を作る方法を紹介します。

目次

array_columnの使い方

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

$array

対象となる多次元配列を指定します。

$column_key

取得したい値のカラムキーを指定します。

$index_key(オプション)

対象の多次元配列のキーを指定することで新しい配列のキーとして使用できます。

array_columnの例($index_keyなし)

$nameList = [
  "one" => array(
    "id" => 101,
    "lastName" => "山田",
    "firstName" => "太郎",
  ),
  "two" => array(
    "id" => 102,
    "lastName" => "田中",
    "firstName" => "一郎"
  ),

  "three" => array(
    "id" => 103,
    "lastName" => "鈴木",
    "firstName" => "二郎"
  ),
];

$lastNameList = array_column($nameList, "lastName");
print_r($lastNameList);

//出力
Array ( [0] => 山田 [1] => 田中 [2] => 鈴木 )

このコードではarray_columnで多次元配列$nameListのカラムキー「lastName」を指定しているので、「lastName」の値だけを取得した新しい配列が作られます。$index_keyを使用していないので新しい配列のカラムキーは0から始まるインデックスとなります。

array_columnの例($index_keyあり)

$nameList = [
  "one" => array(
    "id" => 101,
    "lastName" => "山田",
    "firstName" => "太郎",
  ),
  "two" => array(
    "id" => 102,
    "lastName" => "田中",
    "firstName" => "一郎"
  ),

  "three" => array(
    "id" => 103,
    "lastName" => "鈴木",
    "firstName" => "二郎"
  ),


];
$lastNameList = array_column($nameList, "lastName", "id");
print_r($lastNameList);

//出力
Array ( [101] => 山田 [102] => 田中 [103] => 鈴木 )

$index_keyで指定したカラムキーがarray_columnで作られる新しい配列のカラムキーとなります。

以上です。

URLをコピーする
URLをコピーしました!
目次
閉じる