> 백엔드 개발 > PHP 튜토리얼 > 2个数组相加,将一个数组写入另一个数组

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

WBOY
풀어 주다: 2016-06-23 14:21:05
원래의
1038명이 탐색했습니다.

已知数组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',  ),)
로그인 후 복사


把数组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的值组成键判断重复用的
哦,原来可以这样用啊。谢谢了!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿