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实现假装商品限时抢购繁忙的效果

最近要做一个项目,有关商品显示抢购的功能。比如我们的网站很带流量,那么成千上万的用户在几秒内同时点你的商品,确实会出现“抢购人数过多,会提示,系统繁忙。   &nbs...

PHP实现链表的定义与反转功能示例

本文实例讲述了PHP实现链表的定义与反转功能。分享给大家供大家参考,具体如下: PHP定义链表及添加、移除、遍历等操作: <?php class Node { pr...

粗略计算在线时间,bug:ip相同

<?PHP /* CREATE TABLE `db_online` (   `ip` char(20) def...

php 设计模式之 单例模式

小船类boat.php复制代码 代码如下:<?php class boat { private static $instance=null; private $skipper; p...