doufeikuang7724 2014-03-20 10:26
浏览 20
已采纳

在php中自定义数组

I have an array like this:

 Array ( [0] => Array 
             ([category_name] => Operating System
              [sub_category_name] => Windows 8) 
         [1] => Array 
             ([category_name] => Operating System
              [sub_category_name] => Linux)
         [2] => Array 
             ([category_name] => Mobile
              [sub_category_name] => Nokia))

I would like to customize it like this:

Array('Operating System' => 'Windows 8', 'Operating System' => 'Linux', 'Mobile' => 'Nokia')

Thanks in advance. Any help or suggestion would be a great help...

  • 写回答

3条回答 默认 最新

  • douchao1957 2014-03-20 10:33
    关注

    this may help

    $result = array();
    foreach($firstArray as $row) {
        $result[$row['category_name']] = $row['sub_category_name'];
    }
    

    if you want to merge duplicate keys you can write like this

    $result = array();
    foreach($firstArray as $row) {
        if(isset($result[$row['category_name']])) {
            if(!is_array($result[$row['category_name']])) {
                $tmp = array();
                $tmp[] = $result[$row['category_name']];
                $result[$row['category_name']] = $tmp;
            }
            $result[$row['category_name']][] = $row['sub_category_name'];
        } else 
        $result[$row['category_name']] = $row['sub_category_name'];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?