[英]Create a new array from a multidimensional array in PHP
我在 PHP 中有这种多维数组:
Array(
[0] => Array(
[continent] => Europe
[country] => France
[cities] => Array(
[0] => Paris
[1] => Nice
)
)
[1] => Array(
[continent] => North America
[country] => Canada
[cities] => Array(
[0] => Toronto
[1] => Ottawa
)
)
)
我想要做的是通过创建一个像这样的新数组来列出所有城市和国家:
Array(
[0] => Array(
[city] => Paris
[continent] => Europe
[country] => France
)
[1] => Array(
[city] => Nice
[continent] => Europe
[country] => France
)
...
)
这是我尝试过的:
foreach($continents as $continent => $cities) {
foreach($cities as $city) {
$arr[] = array('city' => $city, 'continent' => $continent, 'country' => $continent['country']);
}
}
谢谢你的帮助。
关闭,您只需要更改是否从以下位置拉出国家/大陆:
<?php
$continents = [
[
'continent' => 'Europe',
'country' => 'France',
'cities' => ['Paris', 'Nice'],
],
[
'continent' => 'North America',
'country' => 'Canada',
'cities' => ['Toronto', 'Ottawa'],
],
];
$arr = [];
foreach($continents as $key => $value) {
foreach($value['cities'] as $city) {
$arr[] = [
'city' => $city,
'continent' => $continents[$key]['continent'],
'country' => $continents[$key]['country']
];
}
}
结果:
Array
(
[0] => Array
(
[city] => Paris
[continent] => Europe
[country] => France
)
[1] => Array
(
[city] => Nice
[continent] => Europe
[country] => France
)
[2] => Array
(
[city] => Toronto
[continent] => North America
[country] => Canada
)
[3] => Array
(
[city] => Ottawa
[continent] => North America
[country] => Canada
)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.