欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

大神 急

程序员文章站 2022-06-17 16:22:37
...
大神求助 急...
两个二维数组
$cart = arrray(array("id"=1,"num="2"));(session中的array值)

第一次传 $newcart = arrray(array("id"=1,"num="4");array("id"=2,"num="4"))

第二次传 $newcart = arrray(array("id"=9,"num="4");array("id"=1,"num="5"))

第三次传 id 是随时变的....
。。。。。


怎么样遍历 使它变成 $cart = arrray(
[0]=>array("id"=>1,"num"=>10)
[1]=>array("id"=>2,"num"=>4)
[2]=>array("id"=>9,"num"=>5)
)

怎么就实现 大神求助啊
------解决方案--------------------
没看懂,id为9 的num怎么变成5了。id=1 的也不知道怎么来的。
------解决方案--------------------

$cart = array(1=>array("id"=>1,"num"=>2),2=>array("id"=>2,"num"=>5));
$newcart = array(1=>array("id"=>1,"num"=>4),3=>array("id"=>3,"num"=>4));
foreach( $newcart as $k=>$v ){

if( $cart[$v['id']] ){

$cart[$v['id']]['num'] += $v['num'];

}
else{

$cart = array_merge($cart,array($v));

}

}


做购物车最好是用 id作为数组的key,这样对于添加修改删除操作都狠方便。

符号要注意一下 数组指向值是"=>" ,不是"="。
------解决方案--------------------
$cart = array(array("id"=>1,"num"=>2));

$newcart = array(array("id"=>1,"num"=>4),array("id"=>2,"num"=>4));
foreach($cart as $v) $t[$v['id']]+=$v['num'];

foreach($newcart as &$v){
$v['num']+=$t[$v['id']];
}
$cart =$newcart;
print_r($cart);
大神  急

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频