Есть такая конструкция:
if (array_search( $_POST['i'] , $_SESSION['korzina'] ) === false)
{ $_SESSION['korzina'][] = $_POST['i'] ; }
else { $_SESSION['korzina'][$idTovar][] = 4 ; }
здесь, идет проверка:
если в массиве $_SESSION['korzina']
нет $_POST['i']
то мы его добавляем .
иначе делаем подмассив для повторяющегося $_POST['i']
Дело в том, что при каждом прохождении этого скрипта (например если у нас 3 раза одинаковый $_POST['i'] ) создается подмассив с 3мя значениями
Выглядит это так:
print_r( $_SESSION['korzina'] ) ;
Возможно это или нет?
Что следует изменить для этого?
Спустя 4 минуты, 16 секунд (22.12.2010 - 18:30) Invis1ble написал(а):
kuzroman
возможно все. Вобще предлагаю тебе изучить ф-ции для работы с массивами, иначе будешь все время сюда бегать по первому же вопросу
Спустя 15 часов, 5 минут, 23 секунды (23.12.2010 - 09:36) linker написал(а):
Вот это для чего
else { $_SESSION['korzina'][$idTovar][] = 4 ; }
Спустя 52 минуты, 31 секунда (23.12.2010 - 10:28) kuzroman написал(а):
Цитата (linker @ 23.12.2010 - 06:36) |
Вот это для чего <pre class="sh_sourceCode" rel="php"><span class="sh_control">else</span> <span class="sh_cbracket">{</span> <span class="sh_variable">$_SESSION</span><span class="sh_symbol">[</span><span class="sh_string">'korzina'</span><span class="sh_symbol">][</span><span class="sh_variable">$idTovar</span><span class="sh_symbol">][] =</span> <span class="sh_number">4</span> <span class="sh_symbol">;</span> <span class="sh_cbracket">}</span> </pre> |
В общем, это я так проверял как работать с двойным массивом.
linker подскажи как бы сделать else правильно?
Нужно чтобы если такой id уже есть в массиве, делать подмассив с его колличеством, начиная с 2 и увеличивающемся на 1 при каждом прохождении скрипта.
в моем примере: $idTovar = $_POST['i'] ;
Зачем я это делаю? Пытаюсь сделать корзину, с обновлением через аякс, без перезагрузки. На аяксе сделал, но вот как правильно заносить товар в сессию, еще думаю.
Мне сдесь и посоветовали двумерный массив использовать, что то вида :
$_SESSION['korzina'][$idTovar][1] в первом значение id во втором колличество товара.
Если можно как то иначе это реализовать и правильнее, то подскажите пожалуйста как?
Спустя 18 минут, 41 секунда (23.12.2010 - 10:47) linker написал(а):
if (array_key_exist($_POST['i'], $_SESSION['korzina']) === false)
$_SESSION['korzina'][$_POST['i']] = 1;
else
$_SESSION['korzina'][$_POST['i']] ++;
Спустя 22 минуты, 39 секунд (23.12.2010 - 11:09) kuzroman написал(а):
Цитата (linker @ 23.12.2010 - 07:47) |
if (array_key_exist($_POST['i'], $_SESSION['korzina']) === false) $_SESSION['korzina'][$_POST['i']] = 1; else $_SESSION['korzina'][$_POST['i']] ++; |
linker Спасибо огромное! Все работает.
_____________
kuzroman@list.ru