PHP将二维数组某一个字段相同的数组合并起来的方法
这篇文章主要介绍了PHP将二维数组某一个字段相同的数组合并起来的方法,涉及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;
- }