PHP 配列の重複排除時に要素の順序を変更する問題には 3 つの解決策があります。array_intersect_key()、array_flip()、array()、array_values()、array_unique() を使用して配列要素の順序を保持します。
#PHP 配列の重複排除後に要素の順序を変更する問題を解決する
問題の説明
PHP 配列はarray_unique()を使用します 関数の重複排除後、要素の順序が変更される可能性があります。これにより、場合によっては予期しない結果が生じる可能性があります。
解決策
配列要素の順序を保持するには、次のメソッドを使用できます。Use array_intersect_key()
$array = ['a', 'b', 'c', 'a', 'd']; $unique_array = array_intersect_key($array, array_unique($array));
array_flip() と
array()
$array = ['a', 'b', 'c', 'a', 'd']; $unique_array = array(); $seen_keys = array_flip($array); foreach ($seen_keys as $key => $val) { $unique_array[$key] = $array[$key]; }
使用array_values() と
array_unique()
$array = ['a', 'b', 'c', 'a', 'd']; $unique_array = array_values(array_unique($array));
実用的なケース
重複を含む配列があるとします。値:$array = ['red', 'green', 'blue', 'red', 'orange'];
array_unique() 重複排除後、要素の順序が変更されます:
$unique_array = array_unique($array); // ['green', 'blue', 'orange', 'red']
リーリー
以上がPHP 配列の重複排除後に要素の順序が変更される問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。