PH\には、配列内の重複要素を削除するための関数、つまりarray_unique()がありますが、これは最も効率的な方法ではありません。array_flip()関数を使用してください。 array_uniqure() よりも約 5 倍高速です。 メソッドは次のとおりです:
$arr = array(…………);//繰り返し要素を含む 10,000 要素の配列があると仮定します。$arr = array_flip(array_flip($arr)); //これにより、重複した要素が削除されます。
一体何が起こっているのでしょうか? array_flip() の関数を見てみましょう: array_flip() は、次のように配列の各要素のキーと値を交換するために使用されます:
$arr1 = array ("age" => 30, "name" => " Happy Garden");
$arr2 = array_flip($arr1); //$arr2 は array(30 => "age", "Happy Garden" => "name");異なる要素は同じ値を取ることができますが、同じキー名を異なる要素で使用することはできません。例:
$arr1 = array ("age" => 30, "name" => "Happy Garden", " age" => 20); "age" => 20 は "age" => 30 を置き換えます
$arr1 = array ("name" => "Happy Garden", "age" => 45) ; ここでは $arr1 と$arr2 は等しい。
これで、array_flip(array_flip($arr)) が配列内の重複要素を削除できる理由がわかります。まず、$arr の値がキー名になります。これは、値がキー名になった後、重複したキー名になり、PHP エンジンは重複したキー名を削除し、最後のキー名のみを保持します。 1つ。 。例:
$arr1 = array ("age" => 30, "name" => "ハッピーパーク", "age" => 20); arr1 array("Happy Garden" => "name", 20 => "age");
//$arr1 のキー名と値を復元します:
$arr1 = array_flip($arr1); 上記コードはより簡潔に記述することができます: $arr1 = array_flip(array_flip($arr1));
以上がphp array_flip (配列から重複要素を削除する関数の詳細説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。