/ / Come rimuovere il valore duplicato dall'array di sessione e aggiornarlo: php, array, sessione

Come rimuovere il valore duplicato dall'array di sessioni e aggiornarlo: php, array, sessione

Ho un array di sessione che ha molti valori duplicati e voglio rimuovere il duplicato e aggiornare la sessione, ecco cosa ho provato

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;

quando stampo la matrice

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 )

risposte:

0 per risposta № 1

Puoi rimuovere le voci duplicate dagli array con queste due linee:

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

Non importa se il tuo codice è in loop, a patto che tu stia dando lo stesso formato di dati a $_POST["id"]. I valori dovrebbero essere sempre gli stessi.