PHP:如何替换多个$ _SESSION数组值

时间:2011-12-29 15:29:41

标签: php session-variables shopping-cart

第一次制作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 )

?感谢。

1 个答案:

答案 0 :(得分:3)

使用array_combine

$newcart=array_combine(array_keys($_SESSION['cart']),$quantities);