例如,我使用这个数组:
数组(
[0] => Array ( [id] => 39584 [quantity] => 1 ) [1] => Array ( [id] => 39584 [quantity] => 3 ) [2] => Array ( [id] => 39574 [quantity] => 1 ) [3] => Array ( [id] => 39586 [quantity] => 1 )
)
我的问题是:如果“id”与之前介绍的类似,我如何更新“数量”?
示例:
数组(
[0] => Array ( [id] => 39584 [quantity] => 4 ) [1] => Array ( [id] => 39574 [quantity] => 1 ) [2] => Array ( [id] => 39586 [quantity] => 1 )
)
答案 0 :(得分:1)
如果您需要此表单中的数组,则必须进行搜索。
foreach ($array as $set)
{
if ($set['id'] == $checkedId)
{
$set['quantity'] = $newQuantity;
return;
}
}
如果你可以改变数组,为什么不把id作为键?
$newArray = array();
foreach ($oldArray as $set)
{
$newArray[$set['id']] = $set['quantity'];
}
现在,您可以使用$newArray[$checkedId]
答案 1 :(得分:1)
你可以用一些foreach循环来做到这一点,或者你可以通过改变你的数组结构使你的生活变得更容易:
Array (
[39584] => 4
[39574] => 1
)
然后添加数量,就像:
一样简单$main_array[$id] = $main_array[$id] + $new_array[$id];
答案 2 :(得分:1)
以下是解决方案:
$result = array();
foreach ($your_array as $sub_array) {
if (empty($result[$sub_array['id']])) {
$result[$sub_array['id']] = $sub_array;
} else {
$result[$sub_array['id']]['quantity'] += $sub_array['quantity'];
}
}
这将按照“id”键对数组进行分组,并总结值
答案 3 :(得分:0)
每个数组都有一个位于父数组中的位置,所以如果你想要第一个数组,那么你可以调用它:
$var[0][quantity]
请注意,为什么你有多个具有相同ID的数组?