当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-12 09:55:19 浏览: 评论:0 

这篇文章主要介绍了PHP将二维数组某一个字段相同的数组合并起来的方法,涉及PHP多维数组操作的相关技巧,需要的朋友可以参考下。

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

例子:

  1. array(3) { 
  2.  [0]=> 
  3.  array(16) { 
  4.   ["id"]=> 
  5.   string(2) "42" 
  6.   ["uid"]=> 
  7.   string(2) "14" 
  8.   ["euid"]=> 
  9.   string(2) "56" 
  10.   ["did"]=> 
  11.   string(1) "1" 
  12.   ["nid"]=> 
  13.   string(1) "0" 
  14.   ["phonetime"]=> 
  15.   string(10) "1443927600" 
  16.   ["createtime"]=> 
  17.   string(10) "1443880619" 
  18.   ["type"]=> 
  19.   string(1) "3" 
  20.   ["status"]=> 
  21.   string(1) "0" 
  22.   ["atype"]=> 
  23.   string(1) "1" 
  24.   ["mtype"]=> 
  25.   string(1) "2" 
  26.   ["endtime"]=> 
  27.   string(1) "0" 
  28.   ["time"]=> 
  29.   string(10) "10月04日" 
  30.   ["date"]=> 
  31.   string(6) "周日" 
  32.   ["uname"]=> 
  33.   NULL 
  34.   ["album"]=> 
  35.   string(0) "" 
  36.  } 
  37.  [1]=> 
  38.  array(16) { 
  39.   ["id"]=> 
  40.   string(2) "40" 
  41.   ["uid"]=> 
  42.   string(2) "14" 
  43.   ["euid"]=> 
  44.   string(2) "56" 
  45.   ["did"]=> 
  46.   string(1) "1" 
  47.   ["nid"]=> 
  48.   string(1) "0" 
  49.   ["phonetime"]=> 
  50.   string(10) "1444359600" 
  51.   ["createtime"]=> 
  52.   string(10) "1444268595" 
  53.   ["type"]=> 
  54.   string(1) "3" 
  55.   ["status"]=> 
  56.   string(1) "0" 
  57.   ["atype"]=> 
  58.   string(1) "1" 
  59.   ["mtype"]=> 
  60.   string(1) "2" 
  61.   ["endtime"]=> 
  62.   string(1) "0" 
  63.   ["time"]=> 
  64.   string(10) "10月09日" 
  65.   ["date"]=> 
  66.   string(6) "周五" 
  67.   ["uname"]=> 
  68.   NULL 
  69.   ["album"]=> 
  70.   string(0) "" 
  71.  } 
  72.  [2]=> 
  73.  array(16) { 
  74.   ["id"]=> 
  75.   string(2) "43" 
  76.   ["uid"]=> 
  77.   string(1) "2" 
  78.   ["euid"]=> 
  79.   string(2) "56" 
  80.   ["did"]=> 
  81.   string(1) "1" 
  82.   ["nid"]=> 
  83.   string(1) "0" 
  84.   ["phonetime"]=> 
  85.   string(10) "1444359620" 
  86.   ["createtime"]=> 
  87.   string(10) "1444268595" 
  88.   ["type"]=> 
  89.   string(1) "3" 
  90.   ["status"]=> 
  91.   string(1) "0" 
  92.   ["atype"]=> 
  93.   string(1) "1" 
  94.   ["mtype"]=> 
  95.   string(1) "2" 
  96.   ["endtime"]=> 
  97.   string(1) "0" 
  98.   ["time"]=> 
  99.   string(10) "10月09日" 
  100.   ["date"]=> 
  101.   string(6) "周五" 
  102.   ["uname"]=> 
  103.   NULL 
  104.   ["album"]=> 
  105.   string(0) "" 
  106.  } 

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

  1. array(2) { 
  2.  ["10月04日"]=> 
  3.  array(1) { 
  4.   [0]=> 
  5.   array(16) { 
  6.    ["id"]=> 
  7.    string(2) "42" 
  8.    ["uid"]=> 
  9.    string(2) "14" 
  10.    ["euid"]=> 
  11.    string(2) "56" 
  12.    ["did"]=> 
  13.    string(1) "1" 
  14.    ["nid"]=> 
  15.    string(1) "0" 
  16.    ["phonetime"]=> 
  17.    string(10) "1443927600" 
  18.    ["createtime"]=> 
  19.    string(10) "1443880619" 
  20.    ["type"]=> 
  21.    string(1) "3" 
  22.    ["status"]=> 
  23.    string(1) "0" 
  24.    ["atype"]=> 
  25.    string(1) "1" 
  26.    ["mtype"]=> 
  27.    string(1) "2" 
  28.    ["endtime"]=> 
  29.    string(1) "0" 
  30.    ["time"]=> 
  31.    string(10) "10月04日" 
  32.    ["date"]=> 
  33.    string(6) "周日" 
  34.    ["uname"]=> 
  35.    NULL 
  36.    ["album"]=> 
  37.    string(0) "" 
  38.   } 
  39.  } 
  40.  ["10月09日"]=> 
  41.  array(2) { 
  42.   [0]=> 
  43.   array(16) { 
  44.    ["id"]=> 
  45.    string(2) "40" 
  46.    ["uid"]=> 
  47.    string(2) "14" 
  48.    ["euid"]=> 
  49.    string(2) "56" 
  50.    ["did"]=> 
  51.    string(1) "1" 
  52.    ["nid"]=> 
  53.    string(1) "0" 
  54.    ["phonetime"]=> 
  55.    string(10) "1444359600" 
  56.    ["createtime"]=> 
  57.    string(10) "1444268595" 
  58.    ["type"]=> 
  59.    string(1) "3" 
  60.    ["status"]=> 
  61.    string(1) "0" 
  62.    ["atype"]=> 
  63.    string(1) "1" 
  64.    ["mtype"]=> 
  65.    string(1) "2" 
  66.    ["endtime"]=> 
  67.    string(1) "0" 
  68.    ["time"]=> 
  69.    string(10) "10月09日" 
  70.    ["date"]=> 
  71.    string(6) "周五" 
  72.    ["uname"]=> 
  73.    NULL 
  74.    ["album"]=> 
  75.    string(0) "" 
  76.   } 
  77.   [1]=> 
  78.   array(16) { 
  79.    ["id"]=> 
  80.    string(2) "43" 
  81.    ["uid"]=> 
  82.    string(1) "2" 
  83.    ["euid"]=> 
  84.    string(2) "56" 
  85.    ["did"]=> 
  86.    string(1) "1" 
  87.    ["nid"]=> 
  88.    string(1) "0" 
  89.    ["phonetime"]=> 
  90.    string(10) "1444359620" 
  91.    ["createtime"]=> 
  92.    string(10) "1444268595" 
  93.    ["type"]=> 
  94.    string(1) "3" 
  95.    ["status"]=> 
  96.    string(1) "0" 
  97.    ["atype"]=> 
  98.    string(1) "1" 
  99.    ["mtype"]=> 
  100.    string(1) "2" 
  101.    ["endtime"]=> 
  102.    string(1) "0" 
  103.    ["time"]=> 
  104.    string(10) "10月09日" 
  105.    ["date"]=> 
  106.    string(6) "周五" 
  107.    ["uname"]=> 
  108.    NULL 
  109.    ["album"]=> 
  110.    string(0) "" 
  111.   } 
  112.  } 

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

$result 为原二维数组

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

Tags: PHP二维数组合并

分享到:

相关文章