2016-04-26 3 views
0

У меня есть массив сеанса, который имеет много повторяющегося значения, и я хочу, чтобы удалить дубликаты и обновить сеанс, вот что я пыталсяКак удалить повторяющееся значение из массива сессии и обновить его

if (!isset($_SESSION['arry'])) { 
    $_SESSION['arry'] = array(); 
} 
$pu = $_POST['id']; // $pu is 12, 56, 97, 34, 63 post id can be anything here 

$arrys = $_SESSION[ "arry" ] = array_merge($_SESSION[ "arry" ],explode(",",$pu)); 
$_SESSION[ "arry" ] = array_unique($arrys); 
$arrys =array_map('trim',$arrys); 
print_r($_SESSION[ "arry" ]); exit; 

когда я напечатать массив со

Array ([0] => 269 [1] => 270 [2] => 271 [3] => 272 [4] => 271 [5] => 273) Array ([0] => 269 [1] => 270 [2] => 271 [3] => 272 [4] => 271 [5] => 273) Array ([0] => 269 [1] => 270 [2] => 271 [3] => 272 [4] => 271 [5] => 273) Array ([0] => 269 [1] => 270 [2] => 271 [3] => 272 [4] => 271) Array ([0] => 269 [3] => 270 [4] => 271 [5] => 272 [6] => 271) Array ([0] => 269 [3] => 270 [4] => 271 [5] => 272 [6] => 271) Array ([0] => 269 [3] => 270 [4] => 271 [5] => 272 [6] => 271) Array ([0] => 269 [3] => 270 [4] => 271) 
+0

Похоже, этот код работает в цикле? – Rizier123

+0

Нет, этот код не работает в цикле –

+0

Хорошо, тогда ваш показанный результат не совпадает с кодом. Так что либо вы не показываете нам реальный код или реальный результат – Rizier123

ответ

0

Вы можете удалить дубликаты записей из ваших массивов с этими двумя линиями:

$arrys = array_merge($_SESSION[ "arry" ],explode(",", $pu)); 
$_SESSION[ "arry" ] = array_unique($arrys); 

Не имеет значения, если ваш код зацикливается, если вы указываете тот же формат данных на $_POST['id']. Значения всегда должны быть одинаковыми.

+0

, он создает многомерный массив который мне не нужен Array ([0] => 274 [1] => 275) Array ([0] => 274), потому что после этого мне нужно найти конкретное значение из массива методом массива, я думаю, что слияние массивов создает многомерный массив –

+0

Думаю, вам стоит закрыть браузер и повторить попытку. Поскольку вы храните его в сеансе, вы снова и снова работаете с многомерным массивом. –

+0

По-прежнему такая же проблема после добавления массива слияния создает многомерные –