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

yipeiwu_com5年前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程序Laravel 5框架的优化技巧

Laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,但在正式环境下要做好优化提升网站的打开速度 接下来分享一些开发的最...

PHP中substr()与explode()函数用法分析

本文实例讲述了PHP中substr()与explode()函数用法。分享给大家供大家参考。具体方法如下: substr(string,start,length):本函数将字符串 stri...

用php解析html的实现代码

最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的方式通过css选择...

PHP实现对站点内容外部链接的过滤方法

熟悉SEO的朋友都知道,对于网站外部链接失效的情况如果链接带有rel="nofollow"属性可以避免不必要的损失。本文就以实例形式演示了PHP实现对站点内容外部链接的过滤方法。具体如下...

PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析

本文分析了PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别。分享给大家供大家参考,具体如下: $_POST:通过 HTTP POST 方法传递的变...