PHP将二维数组某一个字段相同的数组合并起来的方法

5年以前  |  阅读数:656 次  |  编程语言:PHP 

本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法。分享给大家供大家参考,具体如下:

例子:


    array(3) {
     [0]=>
     array(16) {
      ["id"]=>
      string(2) "42"
      ["uid"]=>
      string(2) "14"
      ["euid"]=>
      string(2) "56"
      ["did"]=>
      string(1) "1"
      ["nid"]=>
      string(1) "0"
      ["phonetime"]=>
      string(10) "1443927600"
      ["createtime"]=>
      string(10) "1443880619"
      ["type"]=>
      string(1) "3"
      ["status"]=>
      string(1) "0"
      ["atype"]=>
      string(1) "1"
      ["mtype"]=>
      string(1) "2"
      ["endtime"]=>
      string(1) "0"
      ["time"]=>
      string(10) "10月04日"
      ["date"]=>
      string(6) "周日"
      ["uname"]=>
      NULL
      ["album"]=>
      string(0) ""
     }
     [1]=>
     array(16) {
      ["id"]=>
      string(2) "40"
      ["uid"]=>
      string(2) "14"
      ["euid"]=>
      string(2) "56"
      ["did"]=>
      string(1) "1"
      ["nid"]=>
      string(1) "0"
      ["phonetime"]=>
      string(10) "1444359600"
      ["createtime"]=>
      string(10) "1444268595"
      ["type"]=>
      string(1) "3"
      ["status"]=>
      string(1) "0"
      ["atype"]=>
      string(1) "1"
      ["mtype"]=>
      string(1) "2"
      ["endtime"]=>
      string(1) "0"
      ["time"]=>
      string(10) "10月09日"
      ["date"]=>
      string(6) "周五"
      ["uname"]=>
      NULL
      ["album"]=>
      string(0) ""
     }
     [2]=>
     array(16) {
      ["id"]=>
      string(2) "43"
      ["uid"]=>
      string(1) "2"
      ["euid"]=>
      string(2) "56"
      ["did"]=>
      string(1) "1"
      ["nid"]=>
      string(1) "0"
      ["phonetime"]=>
      string(10) "1444359620"
      ["createtime"]=>
      string(10) "1444268595"
      ["type"]=>
      string(1) "3"
      ["status"]=>
      string(1) "0"
      ["atype"]=>
      string(1) "1"
      ["mtype"]=>
      string(1) "2"
      ["endtime"]=>
      string(1) "0"
      ["time"]=>
      string(10) "10月09日"
      ["date"]=>
      string(6) "周五"
      ["uname"]=>
      NULL
      ["album"]=>
      string(0) ""
     }
    }

现在想要对这个二维数组下的元素,time相同的合并到同一数组下。想要的效果为:


    array(2) {
     ["10月04日"]=>
     array(1) {
      [0]=>
      array(16) {
       ["id"]=>
       string(2) "42"
       ["uid"]=>
       string(2) "14"
       ["euid"]=>
       string(2) "56"
       ["did"]=>
       string(1) "1"
       ["nid"]=>
       string(1) "0"
       ["phonetime"]=>
       string(10) "1443927600"
       ["createtime"]=>
       string(10) "1443880619"
       ["type"]=>
       string(1) "3"
       ["status"]=>
       string(1) "0"
       ["atype"]=>
       string(1) "1"
       ["mtype"]=>
       string(1) "2"
       ["endtime"]=>
       string(1) "0"
       ["time"]=>
       string(10) "10月04日"
       ["date"]=>
       string(6) "周日"
       ["uname"]=>
       NULL
       ["album"]=>
       string(0) ""
      }
     }
     ["10月09日"]=>
     array(2) {
      [0]=>
      array(16) {
       ["id"]=>
       string(2) "40"
       ["uid"]=>
       string(2) "14"
       ["euid"]=>
       string(2) "56"
       ["did"]=>
       string(1) "1"
       ["nid"]=>
       string(1) "0"
       ["phonetime"]=>
       string(10) "1444359600"
       ["createtime"]=>
       string(10) "1444268595"
       ["type"]=>
       string(1) "3"
       ["status"]=>
       string(1) "0"
       ["atype"]=>
       string(1) "1"
       ["mtype"]=>
       string(1) "2"
       ["endtime"]=>
       string(1) "0"
       ["time"]=>
       string(10) "10月09日"
       ["date"]=>
       string(6) "周五"
       ["uname"]=>
       NULL
       ["album"]=>
       string(0) ""
      }
      [1]=>
      array(16) {
       ["id"]=>
       string(2) "43"
       ["uid"]=>
       string(1) "2"
       ["euid"]=>
       string(2) "56"
       ["did"]=>
       string(1) "1"
       ["nid"]=>
       string(1) "0"
       ["phonetime"]=>
       string(10) "1444359620"
       ["createtime"]=>
       string(10) "1444268595"
       ["type"]=>
       string(1) "3"
       ["status"]=>
       string(1) "0"
       ["atype"]=>
       string(1) "1"
       ["mtype"]=>
       string(1) "2"
       ["endtime"]=>
       string(1) "0"
       ["time"]=>
       string(10) "10月09日"
       ["date"]=>
       string(6) "周五"
       ["uname"]=>
       NULL
       ["album"]=>
       string(0) ""
      }
     }
    }

那么。。。代码很简单,没有想象的那么复杂,想要的结果是个三维数组

$result 为原二维数组


    $res = array(); //想要的结果
    foreach ($result as $k => $v) {
      $res[$v['time']][] = $v;
    }

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
将二进制数据转为16进制以便显示
获取IMSI
获取IMEI
Java生成UUID
PHP自定义函数获取搜索引擎来源关键字的方法
让你成为最历害的git提交人
在Zeus Web Server中安装PHP语言支持
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Yii2汉字转拼音类的实例代码
Python 2与Python 3版本和编码的对比
php+ajax+json 详解及实例代码
php封装的page分页类完整实例
PHP设计模式之工厂模式与单例模式
php数组合并array_merge()函数使用注意事项
PHP实现简单爬虫的方法
php实现数组中索引关联数据转换成json对象的方法
wget使用技巧