Rumah > pembangunan bahagian belakang > tutorial php > 问个PHP数组合并的问题~请高手指点

问个PHP数组合并的问题~请高手指点

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:33:17
asal
903 orang telah melayarinya

$arr1=array(            "0"=>array(                'id' => '2',                'b' => 0,                'num' => 4                ),            "1"=>array(                'id' => '1',                'b' => 0,                'num' => 4                 )        );        $arr2=array(            "1"=>array(                'id' => '3',                'b' => 0,                'num' => 4                ),            "2"=>array(                'id' => '2',                'b' => 0,                'num' => 4                 )        );
Salin selepas log masuk

想要合并这个两个数组,判断条件,id,b两个元素都相同的情况的NUM值相加。新数组键值重新排列0 1 2 3
求高手指点。谢谢。


回复讨论(解决方案)

array_merge($fruits, $numbered); 合并数组就行了啊

array_merge($fruits, $numbered); 合并数组就行了啊


大哥注意看条件
判断条件,id,b两个元素都相同的情况的NUM值相加。

有人在吗?

$arr1=array(            "0"=>array(                'id' => '2',                'b' => 0,                'num' => 4                 ),             "1"=>array(                'id' => '1',                'b' => 0,                'num' => 4                 )        ); $arr2=array(            "1"=>array(                'id' => '3',                'b' => 0,                'num' => 4                 ),             "2"=>array(                'id' => '2',                'b' => 0,                'num' => 4                 )        );foreach($arr1 as $v) $res["$v[id]_$v[b]"] = $v;foreach($arr2 as $v)  if(isset($res["$v[id]_$v[b]"])) $res["$v[id]_$v[b]"]['num'] += $v['num'];  else $res["$v[id]_$v[b]"] = $v;print_r(array_values($res));
Salin selepas log masuk
Salin selepas log masuk
Array(    [0] => Array        (            [id] => 2            [b] => 0            [num] => 8        )    [1] => Array        (            [id] => 1            [b] => 0            [num] => 4        )    [2] => Array        (            [id] => 3            [b] => 0            [num] => 4        ))
Salin selepas log masuk
Salin selepas log masuk

$arr1=array(            "0"=>array(                'id' => '2',                'b' => 0,                'num' => 4                 ),             "1"=>array(                'id' => '1',                'b' => 0,                'num' => 4                 )        ); $arr2=array(            "1"=>array(                'id' => '3',                'b' => 0,                'num' => 4                 ),             "2"=>array(                'id' => '2',                'b' => 0,                'num' => 4                 )        );foreach($arr1 as $v) $res["$v[id]_$v[b]"] = $v;foreach($arr2 as $v)  if(isset($res["$v[id]_$v[b]"])) $res["$v[id]_$v[b]"]['num'] += $v['num'];  else $res["$v[id]_$v[b]"] = $v;print_r(array_values($res));
Salin selepas log masuk
Salin selepas log masuk
Array(    [0] => Array        (            [id] => 2            [b] => 0            [num] => 8        )    [1] => Array        (            [id] => 1            [b] => 0            [num] => 4        )    [2] => Array        (            [id] => 3            [b] => 0            [num] => 4        ))
Salin selepas log masuk
Salin selepas log masuk


非常感谢,看了以后思路又开阔了不少,收获良多,再次谢谢大神解答。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan