//数组a:array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => '5', ),)//数组b:array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'part_count' => '100', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '3115', 'part_count' => '28', ),)
把数组b的结果加入数组a,同cust_no,lotno对应的part_count累加。变成这样的结果:
array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'part_count' => '105', ), 2 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '3115', 'part_count' => '28', ),)
这样如何做到?需要用哪些数组函数?谢谢!
回复讨论(解决方案)
$t=array();foreach(array_merge($a,$b) as $v){ if(!isset($t[$v['cust_no'].'_'.$v['lotno']])){ $t[$v['cust_no'].'_'.$v['lotno']]=$v; }else{ $t[$v['cust_no'].'_'.$v['lotno']]['part_count']+=$v['part_count']; } } print_r(array_values($t));
$v['cust_no'].'_'.$v['lotno']这句是什么意思?
将 cust_no 和 lotno的值组成键判断重复用的
将 cust_no 和 lotno的值组成键判断重复用的
哦,原来可以这样用啊。谢谢了!