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

yipeiwu_com7年前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实现文件下载断点续传详解

如果我们的网站提供文件下载的服务,那么通常我们都希望下载可以断点续传(Resumable Download),也就是说用户可以暂停下载,并在未来的某个时间从暂停处继续下载,而不必重新下载...

PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)

PHP压缩html网页代码 (清除空格,换行符,制表符,注释标记)。 有个不错的方法就是压缩HTML,压缩html 其实就是:清除换行符,清除制表符,去掉注释标记 。它所起到的作用不可小...

可兼容php5与php7的cURL文件上传功能实例分析

本文实例讲述了可兼容php5与php7的cURL文件上传功能。分享给大家供大家参考,具体如下: 为啥要写这个示例 最近修改一个项目,需要通过cURL上传文件。 记得之前做过类似实现的,于...

php中Session的生成机制、回收机制和存储机制探究

php中Session的生成机制、回收机制和存储机制探究

1、php中session的生成机制 我们先来分析一下PHP中是怎么生成一个session的。设计出session的目的是保持每一个用户的各种状态来弥补HTTP协议的不足(无状态)。我们...

PHP生成短网址方法汇总

正常的网址带上参数的那种可能会很长,尤其是我们在印刷纸质品如企业宣传册中要印上某个长的url的话非常难看,而且也没几个人会去记这个网址,虽然现在可以用扫二维码的方式打开长网址。但是人们可...