didjit94
@didjit94
Начинающий front-end разработчик!

Как сравнить переменную и многомерный массив?

У меня такая проблема нарисовалась, у меня есть переменная и многомерный массив
Массив хранится в сессии
Array
(
[107] => Array
(
[SIMPLE_BASKET_TITLE] => Черный бургер
[SIMPLE_BASKET_QUO] => 1
[SIMPLE_BASKET_PRICE] => 180
[SIMPLE_BASKET_CATEGORY] => kfc
)

)


// сам массив $this->items <b>(Результат вывода написан выше)</b>
// $catraw - ПЕРЕМЕННАЯ которая допустим хранит в себе значение <b>(kfc)</b>

// Если такой элемент уже есть...
		if (array_key_exists($id, $this->items))
		{			
			// Увеличим количество
			$this->items[$id][self::QUO]++;	
		}
		else 
		{
//Проверка на то что в корзине присутствует товар из категории, 
//которой мы добаляем товары, если же нет, то очищаем корзину 
//и добавляем товар из другой категории

		if(in_array($catraw, $this->items)
		{
			// Добавим элемент
			$this->items[$id] = array
			(
				self::TITLE => $title,
				self::QUO	=> 1,
				self::PRICE => $price,
				self::CATEGORY => $category
			);			
		} else {
			$this->items = array(); // ЭТО СТРОКА ОЧИЩАЕТ КОРЗИНУ
			// Добавим элемент
			$this->items[$id] = array
			(
				self::TITLE => $title,
				self::QUO	=> 1,
				self::PRICE => $price,
				self::CATEGORY => $category
			);
		}


Задача такая, у нас есть категории товаров, в корзину можно ложить товары только одной категории, если в категории уже лежат товары одной категории (например kfc) и мы добавляем товар другой категории, наша корзина обнуляется и добавляется товар другой категории!
  • Вопрос задан
  • 340 просмотров
Решения вопроса 2
Arris
@Arris
Сапиенсы учатся, играя.
DrunkMaster
@DrunkMaster
Цикл в цикле сделать и по каждому массиву пробежаться по всем его переменным $array as $value
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
didjit94
@didjit94 Автор вопроса
Начинающий front-end разработчик!
Спасибо всем! Все варианты хороши! Нашел другой способ, запихал категорию в сессию, и сравниваю ее!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы