ホームページ  >  記事  >  バックエンド開発  >  PHP 配列の重複排除後に要素の順序が変更される問題を解決する

PHP 配列の重複排除後に要素の順序が変更される問題を解決する

WBOY
WBOYオリジナル
2024-04-29 08:33:01524ブラウズ

PHP 配列の重複排除時に要素の順序を変更する問題には 3 つの解決策があります。array_intersect_key()、array_flip()、array()、array_values()、array_unique() を使用して配列要素の順序を保持します。

解决 PHP 数组去重后元素顺序变化的问题

#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'];

Use

array_unique() 重複排除後、要素の順序が変更されます:

$unique_array = array_unique($array); // ['green', 'blue', 'orange', 'red']

前述のメソッドを使用して要素の順序を保持します:

リーリー

以上がPHP 配列の重複排除後に要素の順序が変更される問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。