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

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

https://www.jb51.net/article/112166.htm

这篇文章主要介绍了php数组实现根据某个键值将相同键值合并生成新二维数组的方法,涉及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程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112727.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月31日 下午2:00
下一篇 2021年10月31日 下午3:00


相关推荐

  • oracle 存储过程返回结果集

    oracle 存储过程返回结果集因为以前一直用sqlserver多,现在一下子用oracle,工具什么都不熟,局限于sqlserver的思想 网上搜,和问朋友,跟我讲了一大堆,什么loop啊,decalre啊,package啊,什么命令窗口啊,什么sqlplus啊,什么不支持pl/sql啊.耽误了好几个小时..完全都是在误导人,其实什么都不需要。只需要定义一个结果集,把东西存到结果集中就结束(这个结果集叫做游标),先…

    2022年7月17日
    23
  • SQL SELECT TOP 子句详解

    SQL SELECT TOP 子句详解SQLSELECTTOP子句SELECTTOP子句用于规定要返回的记录的数目。语法如下SELECTTOPnumber|percentcolumn_name(s)FROMtable_name;实例:从MyTables表里选取前两行数据实例2从MyTables表里取前百分之十的数据需要注意的是如下图那是我整张MyTables表的数据,可以看出根本没有十条数据,那那…

    2022年7月13日
    25
  • 【matlab】如何画分段函数的图像[通俗易懂]

    【matlab】如何画分段函数的图像[通俗易懂]MATLAB如何画分段函数的图像通常要用MATLAB画分段函数图像的话,总要分段去画非常麻烦,还需要holdon,现在教你一种简单化分段函数的方法,让你一下子知道这个方法的魅力!!工具/原料MATLAB软件代码方法/步骤1确定你需要的分段函数是怎样一个表

    2022年6月6日
    175
  • 驱动开发必备硬件知识「建议收藏」

    驱动开发必备硬件知识「建议收藏」综述:在嵌入式领域,可分为硬件开发和软件开发。对于软件开发又可分为底层开发(模块驱动编写,uboot,内核),上层开发(应用,QT)。作为一名软件驱动开发的工程师,我们不需要去设计硬件的原理图,PCB。我们只需看懂硬件开发人员提供的硬件模块时序就行了,但是我们应该也需了解如下硬件知识。      一)处理器     1,可分为通用处理器(单片机,ARM),数字处理器(DSP),其他专用处理器…

    2022年7月22日
    13
  • Linux下chkconfig命令详解

    Linux下chkconfig命令详解

    2021年10月28日
    54
  • pytest的assert_java单元测试断言

    pytest的assert_java单元测试断言前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月29日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号