php数组如何转化成如下数组...

查看:112
本文介绍了php数组如何转化成如下数组...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

Array
(
    [0] => Array
        (
            [ce_id] => 1
            [ce_category_id] => 1
            [ce_user_id] => 10
            [ce_remark] => 123
            [ce_img] => /upload/certification/1_1459410425_4041.png
            [ce_create_at] => 2016-03-31 15:47:05
            [ce_update_at] => 2016-03-31 15:47:05
            [cn_id] => 1
            [cn_certification_name] => 学历证明
            [cn_create_at] => 2016-03-31 10:54:02
            [cn_create_user_id] => 
        )

    [1] => Array
        (
            [ce_id] => 2
            [ce_category_id] => 1
            [ce_user_id] => 10
            [ce_remark] => 正面
            [ce_img] => /upload/certification/1_1459413288_5730.png
            [ce_create_at] => 2016-03-31 16:34:48
            [ce_update_at] => 2016-03-31 16:34:48
            [cn_id] => 1
            [cn_certification_name] => 学历证明
            [cn_create_at] => 2016-03-31 10:54:02
            [cn_create_user_id] => 
        )

    [2] => Array
        (
            [ce_id] => 3
            [ce_category_id] => 1
            [ce_user_id] => 10
            [ce_remark] => 正面
            [ce_img] => /upload/certification/1_1459413934_4724.png
            [ce_create_at] => 2016-03-31 16:45:34
            [ce_update_at] => 2016-03-31 16:45:34
            [cn_id] => 1
            [cn_certification_name] => 学历证明
            [cn_create_at] => 2016-03-31 10:54:02
            [cn_create_user_id] => 
        )

    [3] => Array
        (
            [ce_id] => 4
            [ce_category_id] => 1
            [ce_user_id] => 10
            [ce_remark] => 正面
            [ce_img] => /upload/certification/1_1459414535_2607.png
            [ce_create_at] => 2016-03-31 16:55:35
            [ce_update_at] => 2016-03-31 16:55:35
            [cn_id] => 1
            [cn_certification_name] => 学历证明a
            [cn_create_at] => 2016-03-31 10:54:02
            [cn_create_user_id] => 
        )

)

这正数组怎么变成
cn_certification_name为键,cn_certification_name这字段相同的值就放在这字段下面。。
如:

array(2) {
  ["学历证明"]=>
  array(4) {
    [0]=>
    array(11) {
      ["ce_id"]=>
      string(1) "1"
      ["ce_category_id"]=>
      string(1) "1"
      ["ce_user_id"]=>
      string(2) "10"
      ["ce_remark"]=>
      string(3) "123"
      ["ce_img"]=>
      string(43) "/upload/certification/1_1459410425_4041.png"
      ["ce_create_at"]=>
      string(19) "2016-03-31 15:47:05"
      ["ce_update_at"]=>
      string(19) "2016-03-31 15:47:05"
      ["cn_id"]=>
      string(1) "1"
      ["cn_certification_name"]=>
      string(12) "学历证明"
      ["cn_create_at"]=>
      string(19) "2016-03-31 10:54:02"
      ["cn_create_user_id"]=>
      NULL
    }
    [1]=>
    array(11) {
      ["ce_id"]=>
      string(1) "2"
      ["ce_category_id"]=>
      string(1) "1"
      ["ce_user_id"]=>
      string(2) "10"
      ["ce_remark"]=>
      string(6) "正面"
      ["ce_img"]=>
      string(43) "/upload/certification/1_1459413288_5730.png"
      ["ce_create_at"]=>
      string(19) "2016-03-31 16:34:48"
      ["ce_update_at"]=>
      string(19) "2016-03-31 16:34:48"
      ["cn_id"]=>
      string(1) "1"
      ["cn_certification_name"]=>
      string(12) "学历证明"
      ["cn_create_at"]=>
      string(19) "2016-03-31 10:54:02"
      ["cn_create_user_id"]=>
      NULL
    }
    [2]=>
    array(11) {
      ["ce_id"]=>
      string(1) "3"
      ["ce_category_id"]=>
      string(1) "1"
      ["ce_user_id"]=>
      string(2) "10"
      ["ce_remark"]=>
      string(6) "正面"
      ["ce_img"]=>
      string(43) "/upload/certification/1_1459413934_4724.png"
      ["ce_create_at"]=>
      string(19) "2016-03-31 16:45:34"
      ["ce_update_at"]=>
      string(19) "2016-03-31 16:45:34"
      ["cn_id"]=>
      string(1) "1"
      ["cn_certification_name"]=>
      string(12) "学历证明"
      ["cn_create_at"]=>
      string(19) "2016-03-31 10:54:02"
      ["cn_create_user_id"]=>
      NULL
    }
  }
  ["学历证明a"]=>
  array(1) {
    [0]=>
    array(11) {
      ["ce_id"]=>
      string(2) "23"
      ["ce_category_id"]=>
      string(1) "3"
      ["ce_user_id"]=>
      string(2) "10"
      ["ce_remark"]=>
      string(3) "789"
      ["ce_img"]=>
      string(43) "/upload/certification/3_1459481224_8477.png"
      ["ce_create_at"]=>
      string(19) "2016-04-01 11:27:04"
      ["ce_update_at"]=>
      string(19) "2016-04-01 11:27:04"
      ["cn_id"]=>
      string(1) "3"
      ["cn_certification_name"]=>
      string(13) "学历证明a"
      ["cn_create_at"]=>
      string(19) "2016-04-01 11:26:11"
      ["cn_create_user_id"]=>
      NULL
    }
  }
}

解决方案

这应该是你想要的意思了

function changeArray($arr){
        $newArr = $keyTmp =  array();
        foreach($arr as $val){
            array_push($keyTmp, $val['cn_certification_name']);
        }
        unset($val);
        $keyTmp = array_unique($keyTmp);
        foreach($arr as $val){
            foreach($keyTmp as $tmpVal){
                if($val['cn_certification_name'] == $tmpVal){
                    $newArr[$tmpVal][] = $val;
                }
            }
        }
        return $newArr;
    }

这篇关于php数组如何转化成如下数组...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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