/ /セッション配列から重複した値を削除して更新する方法 - php、配列、セッション

どのようにセッション配列から重複値を削除し、それを更新する - PHP、配列、セッション

私は多くの重複した値を持つセッション配列を持っていて、重複を削除してセッションを更新したいのですが、これが私が試したものです

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 )

回答:

回答№1は0

次の2行を使って、配列から重複したエントリを削除できます。

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

コードに同じ形式のデータを与えている限り、コードがループしているかどうかは関係ありません。 $_POST["id"]。値は常に同じでなければなりません。