PHP数组的“合并相加”
Jun 8, 2016
情况大概是这样的,一个刚入门PHP程序狗,某天接到了一个需求,需要从两个表里获取数据,这两张表的字段是相同的,但记录的类型不同,现在需要将两个类型合并了,不建新表。大概就是把相同字段值的记录中其他某个字段值相加这个意思(可能说的不清楚看下面的例子就知道是什么意思了)。当时第一个反应就是写sql语句,拼啊拼,也不是不行,写了一个sql语句,等了n分钟重要出结果,要是这样就上线了,那不得被吊起来打。可能还是自己的原因,自己数据库学得特别烂,不会写sql语句,只能在原有的程序上,照葫芦画瓢儿,各自从每个表中去取数据,然后处理数组。也不知道这样是不是可行的。
情形一:先来一个简单的相加,很简单的
数组1:
|
|
数组2:
|
|
应该得到的结果是:
|
|
处理函数如下:
|
|
情形二:比如有有两个数组
数组1:
|
|
数组2:
|
|
按照要求后,需要得到结果是:
|
|
处理函数:
|
|
情形三:处理两个数组
数组1:
|
|
数组2:
|
|
按照要求后,需要得到结果是:
|
|
处理函数:
|
|
情形四:还是两个二维数组需要合并相加,可能现在是这样的,需要增加一个键计算新的值:
数组1:
|
|
数组2:
|
|
按照要求后,需要得到结果是:(原先rate比率是在sql语句中就算好的,现在要得到正确的比率,就得先将’hits1’相加,’hits2’相加,相加完了再计算)
|
|
处理函数:
|
|
情形五:变着花样玩,现在是根据两个键判断然后在合并
数组一:
|
|
数组二:
|
|
应该得到的结果:
|
|
处理函数:
|
|
差不多就是这几个情形比较多吧,第一次就这么处理了数组,给我留下深深地印象。主要自己把玩数组不是很溜,不管了,先记录一点吧。