Im получает неопределенную ошибку смещения. Я знаю, почему я получаю ошибку и где она. То, что я пытаюсь решить, - это реализовать соответствующую проверку ошибок, чтобы это не происходило. Этот метод в настоящее время вызывается через ajax и, следовательно, вызывает ошибки при возврате любых строк и т. Д.Неопределенное смещение Проверка ошибок php
Ниже вызывается метод класса, его переменные устанавливаются в $ _GET.
$id = $_GET['id'];
$product = $_GET['name'];
$price = $_GET['price'];
//check for existing product
for($i = 0; $i <= count($_SESSION['BASKET']); $i++) {
//if product exsits incrent by 1
if($_SESSION['BASKET'][$i]['id'] == $id){
$_SESSION['BASKET'][$i]['amount'] = $_SESSION['BASKET'][$i]['amount'] + 1;
break;
//if doesnt exsist creat product array
} else {
$item = array('id' => $id,'amount' => 1,'product' => $product,'price' => $price);
}
}
if(isset($item)){
//push product to session array
array_push($_SESSION['BASKET'], $item);
}
Как вы можете увидеть чеки метод, чтобы увидеть, если в данный момент корзина содержит продукт и обновление приращения количества («количества»). У меня есть конструктор, который создает массив корзин в классе. Проблема возникает, когда $ _SESSION [ «КОРЗИНА»] называется и пуст, но до сих пор существует как в:
array (
)
это создает и неопределенные смещение ошибки при проверке идентификатора в, если заявление, как массив технически существует, но смещение 0 - нет. Любые идеи, как я могу справиться с этим ?.
Код изменения И. сделали, что вызывает ту же ошибку
if(isset($_SESSION['BASKET'][$i]) && $_SESSION['BASKET'][$i]['id'] == $id){
Можете ли вы попробовать использовать isset() и/или пустые, чтобы проверить правильность массива $ _SESSION ['BASKET']? if (isset () && (! empty ())) –
Maximus2012
, который по-прежнему запрашивает идентификатор сеанса во втором состоянии, поэтому по-прежнему предоставляет ту же ошибку –
Можете ли вы обновить свой вопрос с помощью изменений кода, которые вы сделали? – Maximus2012