资讯专栏INFORMATION COLUMN

PHP二维数组根据二维键名去重算法

KnewOne / 1683人阅读

摘要:需求现在有下面一组二维数组青叶我是青叶合肥男足球棒球需要将处于第二维键名为,其值相同的数组的合并形成一个新的数组。

需求

现在有下面一组二维数组:

array(8) {
  [0]=>
  array(2) {
    ["name"]=>
    string(4) "name"
    ["value"]=>
    string(6) "青叶"
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "phone"
    ["value"]=>
    string(11) "13812341234"
  }
  [2]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_507[]"
    ["value"]=>
    string(12) "我是青叶"
  }
  [3]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_508[]"
    ["value"]=>
    string(6) "合肥"
  }
  [4]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_509[]"
    ["value"]=>
    string(3) "男"
  }
  [5]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_510[]"
    ["value"]=>
    string(6) "足球"
  }
  [6]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_510[]"
    ["value"]=>
    string(6) "棒球"
  }
  [7]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_511[]"
    ["value"]=>
    string(16) "2016-12-15T11:15"
  }
}

需要将处于第二维键名为name,其值相同的数组的value合并,形成一个新的数组。

比如上面代码中的namefileds_510的两个二维数组,就应该合并为一个值为足球,棒球的数组。

思路

提到数组,再PHP中我们首先想到了循环,那么这里显然比较适合使用for循环处理,与冒泡排序相似,一个个比较,最好处理。

代码

代码如下:

$public_info = 数组;
for ($i=0;$i

执行结果:

array(7) {
  [0]=>
  array(2) {
    ["name"]=>
    string(4) "name"
    ["value"]=>
    string(6) "青叶"
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "phone"
    ["value"]=>
    string(11) "13812341234"
  }
  [2]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_507[]"
    ["value"]=>
    string(12) "我是青叶"
  }
  [3]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_508[]"
    ["value"]=>
    string(6) "合肥"
  }
  [4]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_509[]"
    ["value"]=>
    string(3) "男"
  }
  [5]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_510[]"
    ["value"]=>
    string(13) "足球,棒球"
  }
  [7]=>
  array(2) {
    ["name"]=>
    string(12) "fileds_511[]"
    ["value"]=>
    string(16) "2016-12-15T11:15"
  }
}
总结

需求已搞定,只要遇到数组,我们第一个想到的除了现成的PHP方法之外,就是循环,不管是foreach还是for,上面例子是我项目处理的一个自定义表单编辑的小段过程,希望对大家思路有帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22169.html

相关文章

  • php二维数组指定其键名对其排序的方法

    安利个小李子先

    laoLiueizo 评论0 收藏0
  • 前端JS面试题

    摘要:前端面试题精选函数实现应用首先什么是函数,直译记忆,缓存等意思,到了计算机层面就翻译为缓存函数,缓存函数就是把计算的结果,存在函数中,当再次调用的时候就可以直接调用。 前端面试题精选 1.memorize函数实现应用 首先什么是memorize函数,memorize直译:记忆,缓存等意思,到了计算机层面就翻译为缓存函数,缓存函数就是把计算的结果,存在函数中,当再次调用的时候就可以直接调...

    bawn 评论0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:笔者作为一位,将工作以来用到的各种优秀资料神器及框架整理在此,毕竟好记性不如烂键盘,此前端知识点大百科全书前端掘金,,不定期更新技巧前端掘金技巧,偶尔更新。计算数组的极值技巧使你的更加专业前端掘金一个帮你提升技巧的收藏集。 CSS 样式画各种图形 - 前端 - 掘金下面是一些我在 CSS 中经常用到的图案,还有一些是在css-tricks看到的。记录一下,以后会用到。会持续更新… 一、...

    Jonathan Shieber 评论0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:笔者作为一位,将工作以来用到的各种优秀资料神器及框架整理在此,毕竟好记性不如烂键盘,此前端知识点大百科全书前端掘金,,不定期更新技巧前端掘金技巧,偶尔更新。计算数组的极值技巧使你的更加专业前端掘金一个帮你提升技巧的收藏集。 CSS 样式画各种图形 - 前端 - 掘金下面是一些我在 CSS 中经常用到的图案,还有一些是在css-tricks看到的。记录一下,以后会用到。会持续更新… 一、...

    SHERlocked93 评论0 收藏0
  • CSS技巧

    摘要:技巧使你的更加专业这是上关于技巧的一篇译文,另外你也可以在本项目看到原文。列举了一些很实用的技巧,比如给空内容的标签添加内容,逗号分隔列表等等。排序算法看源码,把它背下来吧排序算法的封装。主要帮助初学者更好的掌握排序算法的实现。 成为专业程序员路上用到的各种优秀资料、神器及框架 成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度。 Java...

    DangoSky 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<