我有这个数组:
Array
(
[cart] => Array
(
[0] => Array
(
[id] => 1
[size] => XS
[count] => 1
)
[1] => Array
(
[id] => 2
[size] => XS
[count] => 1
)
)
)
如何在这个多维数组中替换id为2的数组?
我正在建立一个在线商店系统,并希望将T恤添加到购物车中。如果已添加的文章将再次添加,则应将cart-session-variable替换为新输入(新大小,新计数)。
如何检查是否已添加特定ID?
答案 0 :(得分:1)
给出带有n个产品的$ cart和要添加的新文章的$ article:
$c = count($cart);
for($i=0;$i<$c;$i++) {
if ($cart[$i]['id'] == $article['id']) {
$cart[$i] = $article;
}
}
如果您使用product_id作为密钥
if (isset($cart[$article['id']]) {
$cart[$article['id']] = $article;
}
答案 1 :(得分:1)
不确定你想要的是什么,但我认为这样做。
foreach ($array['cart'] as &$item) {
if ($item['id'] == $_POST['id']) {
$item = $_POST;
}
} unset($item);
答案 2 :(得分:0)
由于每个产品都有自己唯一的ID,您可以使用产品ID作为数组中的索引,然后您就可以执行以下操作:
// pseudo code
function add2Cart($product_id, $count, $size) {
global $cart;
$cart[$product_id] = array(
'count' => $count,
'size' => $size
);
)
然后你会有一个类似的数组:
[cart] => Array
(
[1] => Array
(
[size] => XS
[count] => 1
)
[2] => Array
(
[size] => XS
[count] => 1
)
)
每个索引都是产品ID号。