1
我有一个PHP数组:PHP购物车阵帮助
Array ([1] => Array
([qty] => 3
[material] => 2
[size] => 4
))
的第一个值1是产品ID。
我希望能够添加数量(现有值)的基础上,选择相同的材料和大小的条件。如果材质或尺寸不同,则会创建一个新阵列,并添加到现有阵列中。
另外还有更好的做事方式吗?
感谢
我有一个PHP数组:PHP购物车阵帮助
Array ([1] => Array
([qty] => 3
[material] => 2
[size] => 4
))
的第一个值1是产品ID。
我希望能够添加数量(现有值)的基础上,选择相同的材料和大小的条件。如果材质或尺寸不同,则会创建一个新阵列,并添加到现有阵列中。
另外还有更好的做事方式吗?
感谢
假设数组= $ foo的,其余都存储在:,$ ID,$材料,$大小
if(is_array($foo[$id]) && $foo[$id]'material']==$material && $foo[$id]['size']==$size){
$foo[$id]['qty']=$foo[$id]['qty']+1;
//or it $qty could be other than 1
$foo[$id]['qty']+=$qty;
}
大家好, 感谢您的回应,Dan和Francois提出了非常好的观点,我修改了数组的结构,并使用了Dagon的代码作为起点,并且似乎都在工作。 谢谢 – Dino
你为什么要通过产品ID密钥,如果可以有多个条目每个产品ID?只需将产品ID设置为诸如qty/material/size之类的属性并在更新数量时搜索数组。这不像购物车阵列将变得如此之大,以至于线性搜索速度会变慢。 –
如果1是产品ID,那么将不可能在不覆盖现有尺寸和材料的情况下添加具有相同产品ID的另一个产品ID。那是故意的吗? –