PHP中foreach循环下数组合并及排序需求的问题解决
解决双层foreach循环合并数组为一维集合的问题
我在开发网站时,需要处理两个数组,使用双层foreach循环生成所需子数组,但始终无法将它们合并为包含多个子数组的一维数组集合——只有这种结构才能支持按指定值排序。
尝试在循环内、外使用array_merge()均未得到预期结果:要么每次循环生成独立数组,要么仅保留最后一个数组;使用他人提供的代码还导致数组嵌套层级混乱,甚至因200+条数据量过大引发网站崩溃。
最终通过修改代码解决了问题,实现代码如下:
$counter_saw_wp = 0; foreach($v as $key => $value){ foreach($v_wp as $k => $val){ $v_saw_wp[$k]["phone_id"] = $val["phone_id"]; $v_saw_wp[$k]["phone_name"] = $val["phone_name"]; $v_saw_wp[$k]["phone_ram"] = $val["phone_ram"]; $v_saw_wp[$k]["phone_memory"] = $val["phone_memory"]; $v_saw_wp[$k]["phone_img"] = $val["phone_img"]; $v_saw_wp[$k]["v_saw"] = $value ["v"]; $v_saw_wp[$k]["v_wp"] = $val["v_wp"]; $v_saw_wp[$k]["v_saw_wp"] = (($value["v"] + $val["v_wp"])/2); } $v_avg_saw_wp[] = array_merge(array(), $v_saw_wp[$counter_saw_wp]); $counter_saw_wp++; }
内容的提问来源于stack exchange,提问作者Thea
相关产品推荐
相关产品推荐

