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

yipeiwu_com6年前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 实现Hash表功能实例详解

php 实现Hash表功能 Hash表作为最重要的数据结构之一,也叫做散列表。使用PHP实现Hash表的功能。PHP可以模拟实现Hash表的增删改查。通过对key的映射到数组中的一个位置...

基于PHP+Ajax实现表单验证的详解

一,利用键盘响应,在不刷新本页面的情况下验证表单输入是否合法用户通过onkeydown和onkeyup事件来触发响应事件。使用方法和onclick事件类似。onkeydown表示当键盘上...

PHP基于GD2函数库实现验证码功能示例

PHP基于GD2函数库实现验证码功能示例

本文实例讲述了PHP基于GD2函数库实现验证码功能。分享给大家供大家参考,具体如下: 在正式制作验证码之前要先补充点知识,PHP使用GD2函数库实现对各种图形图像的处理,所以我们制作验证...

深入PHP empty(),isset(),is_null()的实例测试详解

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序...

PHP中for与foreach的区别分析

注意: 除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此数组指针不会被 each() 结构改变,对返回的数组单元的修改也不会影响原数组。 1. 自p...