如何在单个阵列转换成PHP中的多维数组? [英] How to convert a Single Array into a multidimensional array in PHP?
本文介绍了如何在单个阵列转换成PHP中的多维数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有一个数组,看起来像这样:
[98] =>排列
(
[城市] =>加拉加斯
[国家] =>委内瑞拉
[大陆] =>拉丁美洲
)[99] =>排列
(
[城市] =>开罗
[国家] =>埃及
[大陆] =>中东
)[105] =>排列
(
[城市] =>阿布扎比
[国家] =>阿拉伯联合酋长国
[大陆] =>中东
)[106] =>排列
(
[城市] =>迪拜
[国家] =>阿拉伯联合酋长国
[大陆] =>中东
)[107] =>排列
(
[城市] =>蒙特利尔
[国家] =>加拿大
[大陆] =>北美
)
我试图解决这阵成一个多维数组,使其输出是这样的:
大陆
- 国家的名字
- 城市每一个国家在
我使用PHP。任何人都可以点我一个很好的起点,以我应该如何去这样做?
解决方案
$阵列=阵列(
98 =>阵列(
'市'= GT; 加拉加斯,
国家=> 委内瑞拉,
'大陆'=> '拉丁美洲',
)
99 =>阵列(
'市'= GT; 开罗,
国家=> '埃及',
'大陆'=> '中东',
)
105 =>阵列(
'市'= GT; '阿布扎比',
国家=> '阿拉伯联合酋长国',
'大陆'=> '中东',
)
106 =>阵列(
'市'= GT; 迪拜,
国家=> '阿拉伯联合酋长国',
'大陆'=> '中东',
)
107 =>阵列(
'市'= GT; 蒙特利尔,
国家=> '加拿大',
'大陆'=> '北美',
)
);$ newArray =阵列();
的foreach($数组作为$行)
{
$ newArray [$行['大陆'] [$行[国家] [] = $行['市'];
}的print_r($ newArray);
So I have an array that looks like this:
[98] => Array
(
[City] => Caracas
[Country] => Venezuela
[Continent] => Latin America
)
[99] => Array
(
[City] => Cairo
[Country] => Egypt
[Continent] => Middle East
)
[105] => Array
(
[City] => Abu Dhabi
[Country] => United Arab Emirates
[Continent] => Middle East
)
[106] => Array
(
[City] => Dubai
[Country] => United Arab Emirates
[Continent] => Middle East
)
[107] => Array
(
[City] => Montreal
[Country] => Canada
[Continent] => North America
)
I am trying to sort this array into a multi-dimensional array, so that it outputs something like:
Continent
- Country Name
-- Cities under Every Country
I am using PHP. Can anyone point me to a good starting point as to how I should go about doing this?
解决方案
$array = array(
98 => array(
'City' => 'Caracas',
'Country' => 'Venezuela',
'Continent' => 'Latin America',
),
99 => array(
'City' => 'Cairo',
'Country' => 'Egypt',
'Continent' => 'Middle East',
),
105 => array(
'City' => 'Abu Dhabi',
'Country' => 'United Arab Emirates',
'Continent' => 'Middle East',
),
106 => array(
'City' => 'Dubai',
'Country' => 'United Arab Emirates',
'Continent' => 'Middle East',
),
107 => array(
'City' => 'Montreal',
'Country' => 'Canada',
'Continent' => 'North America',
)
);
$newArray = array();
foreach ($array as $row)
{
$newArray[$row['Continent']][$row['Country']][] = $row['City'];
}
print_r($newArray);
这篇关于如何在单个阵列转换成PHP中的多维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文