代码说

code is poetry

代码说    
碎碎念:一座城市不会老,因为每天都有人奔向灿烂的青春。  换一换

活用php数组函数

作者:coderzheng 发布于:2014-4-16 17:51 Wednesday 分类:php  阅读模式

同事在开发过程中遇到一个这样的需求,从数据库中获取到如下的数组:

注意看数组中用红色线框框住的部分,这几个部分中数组的第一个键值都相同。现在要求将所有这样的子数组进行"合并"。合并之后要求重复的键值对要去除。比如上面这个数组,正确处理之后应该得到下面的结果:

下面的代码提供了完整的解决方案:

简单讲解一下思路:

1)先获取到所有子数组的键名存储到$keyArr中;

2)去除数组keyArr中重复的部分;

3)"翻转"数组keyArr将内容存储在keyArr_flip中,以备后续使用;

4)获取keyArr数组中的键名存储在数组$indexArr中;

5) 循环遍历待分析的数组(只遍历第一层),如果键名在$indexArr中,直接将结果存储到数组$t中,否则先根据这个子数组的第一个键值对的值通过之前的翻转数组keyArr_flip找到应该归并的数组索引,之后进行归并和去重。

注意:程序中注释的部分只是为了说明数组函数的用法,不代表程序运行的结果!


标签: php

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: 巧记php操作数据库并获取返回值的程序段  |  下一篇:jquery中使用get或者post方式进行ajax时的一个bug