duanpo7796 2012-04-13 19:10
浏览 213
已采纳

如何从foreach循环创建这个多维数组?

I cannot wrap my head around this...I have an array that looks like:

    Array
(
    [0] => Array
        (
            [0] => 20120412
            [1] => United States
            [2] => Illinois
            [3] => Marion
            [4] => 2
        )

    [1] => Array
        (
            [0] => 20120412
            [1] => United States
            [2] => Illinois
            [3] => Carbondale
            [4] => 2
        )

    [2] => Array
        (
            [0] => 20120412
            [1] => United States
            [2] => Illinois
            [3] => Carbondale
            [4] => 2
        )
)

I am wanting it to be like:

array("United States" => array("Illinois" => array("Carbondale" => "4")));

So that it takes the Country out, Then the State, then adds together all of the city's numbers.

So far all I have is:

foreach($location_google_data3 as $location_google_data4){
    if($location_google_data4[0]==date("Ymd")){
         $today_visitsbycountry[$location_google_data4[1]]+=$location_google_data4[4];  
    }
}

This gives me an array with the country and number of visits so that I can iterate through it later, but not sure how to proceed with the rest.

  • 写回答

5条回答 默认 最新

  • duanji4449 2012-04-13 19:20
    关注

    Something like this...

    $result=array();
    foreach ($a as $item)
        $result[$item[1]][$item[2]][$item[3]]+=$item[4]; 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?