ホームページ > バックエンド開発 > PHPチュートリアル > 2 つの配列を追加し、一方の配列をもう一方の配列に書き込みます

2 つの配列を追加し、一方の配列をもう一方の配列に書き込みます

WBOY
リリース: 2016-06-23 14:21:05
オリジナル
1171 人が閲覧しました

与えられた配列 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート