Heim > Backend-Entwicklung > PHP-Tutorial > 2个数组相加,将一个数组写入另一个数组

2个数组相加,将一个数组写入另一个数组

WBOY
Freigeben: 2016-06-23 14:21:05
Original
1172 Leute haben es durchsucht

已知数组a和数组b:

//数组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',  ),)
Nach dem Login kopieren


把数组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',  ),)
Nach dem Login kopieren

这样如何做到?需要用哪些数组函数?谢谢!


回复讨论(解决方案)

$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));
Nach dem Login kopieren


$v['cust_no'].'_'.$v['lotno']这句是什么意思?

将 cust_no 和 lotno的值组成键判断重复用的

将 cust_no 和 lotno的值组成键判断重复用的
哦,原来可以这样用啊。谢谢了!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage