メソッドは次のとおりです:
$arr = array(…………) ;//要素が繰り返される 10,000 個の要素の配列があるとします。
$arr = array_flip(array_flip($arr)); //これにより、重複した要素が削除されます。
一体何が起こっているのでしょうか? array_flip() の役割を見てみましょう: array_flip() は、次のように配列の各要素のキーと値を交換するために使用されます:
$arr1 = array ("age" => 30, "name" => "ハッピーガーデン");
$arr2 = array_flip($arr1); //$arr2 は、array(30 => "年齢" => "名前");異なる要素は同じ値を取ることができますが、同じキー名を異なる要素で使用することはできません。例:
$arr1 = array ("age" => 30, "name" => "Happy Garden" , " age" => 20); "age" => 20 は "age" => 30 を置き換えます
$arr1 = array ("name" => "ハッピー ガーデン", "age" => 45) ;
ここ $ arr1 と $arr2 は等しいです。
これで、array_flip(array_flip($arr)) が配列内の重複要素を削除できる理由がわかります。まず、$arr の値がキー名になります。これは、値がキー名になった後、重複したキー名になり、PHP エンジンは重複したキー名を削除し、最後のキー名のみを保持します。 1つ。 。例:
$arr1 = array ("age" => 30, "name" => "ハッピーパーク", "age" => 20);
$arr1 = array_flip($arr1); array("Happy Garden" => "name", 20 => "age");
// $arr1 のキー名と値を復元します:
$arr1 = array_flip($arr1);
$arr1 = array_flip(array_flip($arr1)); とより簡潔に書くことができます。