foreach文を使って元の配列をループし、条件に応じて新しいキーと値を追加してください
PHPで多次元配列から新しい多次元配列を作成する方法についてお尋ねですね。 一つの方法は、foreach文を使って元の配列をループし、条件に応じて新しいキーと値を追加することです例えば、以下のようなコードになります。
// 元の配列
$array = array(
array(
"id" => 1,
"pref" => "東京"
),
array(
"id" => 2,
"pref" => "大阪"
)
);
// 新しい配列を作るための空の配列
$new_array = array();
// 元の配列をループする
foreach ($array as $item) {
// prefの値に応じてareaの値を決める
switch ($item["pref"]) {
case "東京":
$area = "関東";
break;
case "大阪":
$area = "関西";
break;
default:
$area = "";
break;
}
// 新しい配列に元の配列の要素とareaの要素を追加する
$new_array[] = array(
"id" => $item["id"],
"pref" => $item["pref"],
"area" => $area
);
}
// 新しい配列を表示する
print_r($new_array);
このコードを実行すると、以下のような結果が得られます。
Array
(
[0] => Array
(
[id] => 1
[pref] => 東京
[area] => 関東
)
[1] => Array
(
[id] => 2
[pref] => 大阪
[area] => 関西
)
)
これはあくまで一例ですので、他にも方法があるかもしれません。ご参考になれば幸いです。
この回答へのレス