PHP: как заменить несколько значений массива $ _SESSION - PullRequest
0 голосов
/ 29 декабря 2011

Впервые делаю корзину покупок на PHP / XML, и у меня возникли проблемы с функцией обновления корзины.У меня есть массив количеств количеств, который должен обновить значения $ _SESSION ["cart"].В данный момент последнее количество в массиве $ sizes заменяет все значения $ _SESSION ["cart"], в отличие от первого значения $ количеств, заменяющего первое значение $ _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 Ответ

3 голосов
/ 29 декабря 2011

Использование array_combine:

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