Люди. Я пытаюсь создать корзину для покупок, поэтому мне нужно передать идентификатор, количество и location_id функции.В функции я посмотрю на переданные id и location_id, если найдены похожие id и location_id.Я буду +1 к предмету.Однако, если я использую функцию в массиве, она не работает.Ниже приведена еще одна функция, которую я построил для проверки передачи переменных в функцию внутри foreach.Но это не говорит о первой переменной, которую я передал. Она будет сохранять только последнюю переменную.
Ниже приведены мои коды функций:
static public function test($id , $per_min, $location_id_cart = 0){
echo $new_cart = $id.'-'.$per_min.'-'.$location_id_cart;
if(isset($_COOKIE['cart_item'])){
$last = $_COOKIE['cart_item'];
$testing = $last.','.$new_cart;
}else{
$testing = $new_cart;
}
$set = setcookie("cart_item", $testing, time()+3600);
var_dump($_COOKIE);
}
Ниже приведены мои коды, вызывающие функцию:
$id = 125;
$multi_location = array(636 , 789);
$multi_quantity = array();
$multi_quantity[636] = 5;
$multi_quantity[789] = 10;
$array_key = array_keys($multi_quantity);
foreach($array_key as $o){
if(!in_array($o , $multi_location)){
unset($multi_quantity[$o]);
}
}
$count = 0;
foreach($multi_location as $i){
ZCart::test($id , $multi_quantity[$i], $i);
}
Мой результат:
'cart_item' => string '125-10-789' (length=10)
Мой ожидаемый результат:
'cart_item' => string '125-5-636,125-10-789'
если я обновлю свою страницу, я получу следующий результат:
'cart_item' => string '125-10-789,125-10-789,125-10-789,125-10-789,125-10-789,125-10-789,125-10-789'
Файл cookie сохранит только последнее значение, указанное в массиве.он не сохраняет 125-5-636 в cookie.Зачем?Может ли кто-нибудь помочь мне в этом, пожалуйста?Спасибо!