ホームページ >バックエンド開発 >PHPの問題 >PHPで配列が同じ値を持つかどうかを確認する方法

PHPで配列が同じ値を持つかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-26 10:22:28959ブラウズ

PHP では、配列が同じ値であるかどうかを判断する方法がたくさんあります。これらの方法を個別に紹介しましょう。

方法 1: ループ トラバーサルを使用する

ループを使用して配列を走査するのが最も簡単な方法です。コードは次のとおりです:

function hasDuplicate($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
        for ($j = $i+1; $j < $len; $j++) {
            if ($arr[$i] == $arr[$j]) {
                return true;
            }
        }
    }
    return false;
}

このメソッドは二重ループを使用します。最初に配列を走査 要素内の各要素とその後の各要素を比較し、同じ要素があれば true を返し、そうでない場合は false を返します。

方法 2: PHP 組み込み関数を使用する

PHP 組み込み関数array_unique() 配列内の重複する値を削除できます。配列の長さによって、元の配列を決定できます。配列内に重複する値があるかどうか、コードは次のとおりです。

function hasDuplicate($arr) {
    $unique_arr = array_unique($arr);
    return count($arr) != count($unique_arr);
}

このメソッドは、最初に array_unique() を使用します。この関数は、重複した値を削除し、元の配列と重複を除去した配列の長さが等しいかどうかを比較し、等しくない場合は、元の配列に重複した値が存在することを意味します。

方法 3: PHP 組み込み関数を使用する

PHP 組み込み関数array_count_values() は、比較することにより、配列内のすべての要素の出現数を返すことができます。配列内の各値の出現数 出現数が 1 を超える場合、元の配列に重複した値があるかどうかを判断できます コードは次のとおりです:

function hasDuplicate($arr) {
    $counts = array_count_values($arr);
    foreach ($counts as $count) {
        if ($count > 1) {
            return true;
        }
    }
    return false;
}

このメソッドは最初に使用しますarray_count_values() 関数を使用して各要素の出現数を取得し、各要素の出現数を調べます。要素が 1 より多く出現する場合は、要素内に重複した値があることを意味します。元の配列。

方法 4: PHP 組み込み関数を使用する

PHP 組み込み関数array_diff_assoc() 2 つの配列のキー値が一致するかどうかを比較できます。元の配列と重複排除された配列を比較することで同じになります配列の差分セットを使用することで、元の配列に重複する値があるかどうかを判断できますコードは次のとおりです:

function hasDuplicate($arr) {
    $unique_arr = array_unique($arr);
    $diff_arr = array_diff_assoc($arr, $unique_arr);
    return !empty($diff_arr);
}

このメソッド最初に array_unique() 関数を使用して重複値を削除し、次に array_diff_assoc() を使用します。この関数は 2 つの配列を比較し、最後に差分セットが空かどうかを判断します。 、元の配列に重複した値があることを意味します。

まとめると、上記の 4 つの方法はいずれも配列が同じ値であるかどうかを判断するために使用できますが、それぞれに長所と短所があり、実際の状況に応じて適切な方法を選択できます。

以上がPHPで配列が同じ値を持つかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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