|
|
|
| Задача такая. Как определить сушествуют ли значения в массиве по двум ключам.
Это скрипт добавления товара в корзину. Он работает, но некоректно. Если изменить значения ключа "kol" (он отвечает за колличество выбранного товара), то товар добавиться. И появится дубликат товара, но с другим колличеством, в данном случае равном одному.
if(@in_array(array( "tov" => $_GET['tov'], "i_price" => $_GET['i_price'], "kol" => "1"), $_SESSION['basket_add'])) //
{
echo "<b>уже в корзине</b><br>";
}
else
{
$_SESSION['basket_add'][] = array( "tov" => $_GET['tov'], "i_price" => $_GET['i_price'], "kol" => "1");
echo "<b>Добавлено в корзину</b><br>";
}
|
| |
|
|
|
|
|
|
|
для: zavragnov
(16.04.2007 в 16:46)
| | >Задача такая. Как определить сушествуют ли значения в массиве по двум ключам.
Индексируйте массив одним ключом - кодом товара. | |
|
|
|
|
|
|
|
для: Trianon
(16.04.2007 в 16:56)
| | >Индексируйте массив одним ключом - кодом товара.
Нельзя!!
Так как "tov" и есть ключ товара, а "i_price" это ключ цены.
Поясню Это магазин с несколькими ценами на один товар (точнее нет ограничений на кол-во цен на одну позицию)
Типа
Коньяк Ани
цена за 0.5 - 1000 руб.
цена за 0.75 - 1500 руб.
цена за 1 - 2000 руб.
|
соответственно "kol" - это колличество выбранного по данной позиции и данной цене | |
|
|
|
|
|
|
|
для: zavragnov
(16.04.2007 в 17:18)
| | Сформируйте составной ключ.
$key = $_GET['tov'] .'_'.$_GET['i_price];
if(!isset($_SESSION['basket_add'][$key]))
$_SESSION['basket_add'][$key] = 1;
else
++$_SESSION['basket_add'][$key];
|
| |
|
|
|