1. ホーム
  2. php

[解決済み] php: 配列が重複しているかどうかをチェックする

2023-07-25 03:39:44

質問

これは非常に明白な質問であり、まさにこれを行う関数があることを確信していますが、私はそれを見つけることができないようです。PHPでは、配列に重複があるかどうかを、できるだけ効率的に知りたいと思います。のように削除したくないのです。 array_unique のように削除したくないし、特に array_unique を実行して元の配列と比較し、同じかどうかを確認することは、非常に非効率的に思えるので、特に望んでいません。パフォーマンスに関する限り、quot;期待される条件" は、配列に重複がないことです。

私はただ、次のようなことができるようになりたいと思います。

if (no_dupes($array))
    // this deals with arrays without duplicates
else
    // this deals with arrays with duplicates

私が考えていないような明らかな機能はないでしょうか?

PHPの配列で重複した値を検出する方法は?

は正しいタイトルで、非常に似た質問ですが、実際に質問を読むと、彼はarray_count_valuesを探しています。

どのように解決するのですか?

できます。

function has_dupes($array) {
    $dupe_array = array();
    foreach ($array as $val) {
        if (++$dupe_array[$val] > 1) {
            return true;
        }
    }
    return false;
}