ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列内の重複を効率的に検出するにはどうすればよいですか?
配列に重複要素が含まれているかどうかを判断することは、一般的に発生する要件です。 PHP には配列操作用のさまざまな関数が用意されていますが、重複を効率的にチェックする方法はすぐには分からないかもしれません。
単純ですが非効率なアプローチは、元の配列を次の配列と比較することです。 array_unique() 関数を使用して生成される、その一意の対応物。ただし、このメソッドでは、新しい配列を作成する計算のオーバーヘッドが発生します。
array_count_values() を使用して、配列内の各要素の出現をカウントできます。結果のカウントを配列の長さと比較することで、重複を検出できます。
<code class="php">function array_has_dupes($array) { return count(array_count_values($array)) !== count($array); }</code>
ネイティブ関数が要件を完全に満たさない場合は、
期待される条件が重複のない配列であるシナリオでは、パフォーマンスは、配列を走査するのにかかる時間によって支配されます。配列を一度実行します。ただし、重複が頻繁に発生する場合は、array_count_values() アプローチの方が、出現回数をすばやくカウントできるため、より効率的になります。
以上がPHP 配列内の重複を効率的に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。