第一次制作PHP/XML购物车,我在更新购物车功能时遇到了麻烦。我有一个$ quantity数组,需要更新$_SESSION["cart"]值。现在,$ quantity数组中的最后一个数量正在替换所有的$_SESSION["cart"]值,而不是第一个$ quantity值替换第一个$_SESSION["cart"]值,第二个替换第二个,等等。下面是一个简单的例子,显示了我的问题和我遇到麻烦的代码。
print_r($SESSION["cart"]);
print_r($quantities);
foreach($quantities as $index=>$quantity)
{
foreach($_SESSION["cart"] as $key=>$value)
{
$newcart = str_replace($value, $quantity, $_SESSION["cart"]);
}
}
print_r($newcart);
的结果是:
Array ( [Pizzas.Tomato & Cheese.Small] => 1 [Homemade Lasagna Ravioli or Manicotti.With Sausage.One Size] => 1 )
Array ( [0] => 3 [1] => 4 )
Array ( [Pizzas.Tomato & Cheese.Small] => 4 [Homemade Lasagna Ravioli or Manicotti.With Sausage.One Size] => 4 )
如何使最后一个数组($newcart)为
Array ( [Pizzas.Tomato & Cheese.Small] => 3 [Homemade Lasagna Ravioli or Manicotti.With Sausage.One Size] => 4 )
?谢谢。
使用array_combine
:
$newcart=array_combine(array_keys($_SESSION['cart']),$quantities);