поэтому я только начал использовать новый php, и ни одна из моих функций не работает так же правильно. У меня есть функция корзины покупок, которая проверяет элементы в массиве сеанса, а затем помещает элемент в массив. Если элемент уже завершен, он обновляет этот ввод введенным количеством.
$arr=$_SESSION['item'];function searchForId($id, $array) {
if (is_array($array)) {
foreach ($array as $key => $val) {
if ($val['sku'] === $id) {
return $key;
}
}
return 'no';
}
}$theSearch = searchForId($sku, $arr);if(!isset($_SESSION['item']))
{
$newitem = array ('sku' => $sku , 'qty' => $qty);
$_SESSION['item'][1] = $newitem;
}
else
{if ($theSearch != 'no') {
$nqty= $_SESSION['item'][$theSearch]['qty'] + $qty;
$_SESSION['item'][$theSearch]['qty'] = $nqty;
}
else
{
if(count($_SESSION['item']) >=1)
{
$newitem = array ('sku' => $sku , 'qty' => $qty);
$_SESSION['item'][] = $newitem;
}
else
{
$newitem = array ('sku' => $sku , 'qty' => $qty);
$_SESSION['item'][1] = $newitem;
}
}}
Ошибка, которую я получаю в том, что строка
$nqty= $_SESSION['item'][$theSearch]['qty'] + $qty;
и выдается ошибка
Неустранимая ошибка: невозможно использовать смещение строки в качестве массива в
Может кто-нибудь, пожалуйста, помогите!
Задача ещё не решена.
Других решений пока нет …