如何在单个阵列转换成PHP中的多维数组? [英] How to convert a Single Array into a multidimensional array in PHP?

查看:116
本文介绍了如何在单个阵列转换成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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆