У меня есть время с этим. У меня есть многомерный массив, который я храню в сеансе.unset многомерный массив
$d1 = array(1,2,3,4);
$d2 = array(1,2,3,4,5,6);
$d3 = array(1,2,3,4,5,6,7,8);
$d4 = array(1,2,3,4,5);
$_SESSION['array1'] = array($d1,$d2,$d3,$d4);
, что я хочу сделать, это удалить массив $ d2 из сеанса array1
однако когда я делаю что-то вроде этого
unset($_SESSION['array1'][1]);
вы бы подумать, что $ _SESSION [ 'array1' ] then = array ($ d1, $ d3, $ d4);
однако то, что это делает, фактически отменяет всю переменную сеанса.
Тогда, если я пытаюсь что-то вроде
foreach ($_SESSION['array1'] as $k => $v) {
echo "The Key is $k: The Value is $v";
}
однако, что дает мне ошибку
Недействительный аргумент для Еогеасп()
Единственный вывод, который я могу прийти к тому, что сессии переменная полностью отменяется, а не только, что конкретный ключ удаляется из массива.
Есть ли способ, которым я могу отключить определенное значение, содержащееся в массиве, который является частью переменной сеанса?
Там должно быть что-то еще не так в коде. Попробуйте комментировать строку 'unset (...)' и 'var_dump'ing' $ _SESSION'. –