php数组实现根据某个键值将相同键值合并生成新二维数组的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php数组实现根据某个键值将相同键值合并生成新二维数组的方法。分享给大家供大家参考,具体如下:

源数据:

$infos = array(
  array(
    'a' => 36,
    'b' => 'xa',
    'c' => '2015-08-28 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  ),
  array(
    'a' => 3,
    'b' => 'vd',
    'c' => '2015-08-20 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  ),
  array(
    'a' => 6,
    'b' => 'wwe',
    'c' => '2015-08-28 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  ),
  array(
    'a' => 36,
    'b' => 'se',
    'c' => '2015-08-28 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  ),
  array(
    'a' => 6,
    'b' => 'aw',
    'c' => '2015-08-28 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  ),
  array(
    'a' => 36,
    'b' => 'bv',
    'c' => '2015-08-28 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  ),
  array(
    'a' => 12,
    'b' => 'xx',
    'c' => '2015-08-27 00:00:00',
    'd' => '2015/08/438488a00b3219929282e3652061c2e3.png'
  )
);

处理要求:将数组中a相同的二维数组合并到一个数组中,生成一个新的数组

代码:

<?php
 $result= array();
 foreach ($infos as $key => $info) {
  $result[$info['a']][] = $info;
 }
 print_r($result);

输出:

Array
(
 [36] => Array
  (
   [0] => Array
    (
     [a] => 36
     [b] => xa
     [c] => 2015-08-28 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
   [1] => Array
    (
     [a] => 36
     [b] => se
     [c] => 2015-08-28 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
   [2] => Array
    (
     [a] => 36
     [b] => bv
     [c] => 2015-08-28 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
  )
 [3] => Array
  (
   [0] => Array
    (
     [a] => 3
     [b] => vd
     [c] => 2015-08-20 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
  )
 [6] => Array
  (
   [0] => Array
    (
     [a] => 6
     [b] => wwe
     [c] => 2015-08-28 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
   [1] => Array
    (
     [a] => 6
     [b] => aw
     [c] => 2015-08-28 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
  )
 [12] => Array
  (
   [0] => Array
    (
     [a] => 12
     [b] => xx
     [c] => 2015-08-27 00:00:00
     [d] => 2015/08/438488a00b3219929282e3652061c2e3.png
    )
  )
)

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

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

相关文章

PHP读取大文件的多种方法介绍

读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大...

PHP预定义超全局数组变量小结

本文实例讲述了PHP预定义超全局数组变量。分享给大家供大家参考,具体如下: 1.PHP 预定义的超全局变量数组 特性: a.特殊的数组,操作方式没有区别 b.不用声明,php脚本中默认存...

PHPStorm+XDebug进行调试图文教程

PHPStorm+XDebug进行调试图文教程

笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件)。 一、XDebug安装配置 (1)下...

利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel

话不多说,请看代码: <?php date_default_timezone_set("PRC"); error_reporting(E_ALL); error_re...

PHP获取二叉树镜像的方法

本文实例讲述了PHP获取二叉树镜像的方法。分享给大家供大家参考,具体如下: 问题 操作给定的二叉树,将其变换为源二叉树的镜像。 解决思路 翻转二叉树,有递归和非递归两种方式,非递归就是使...