ホームページ  >  記事  >  バックエンド開発  >  PHP は 1 次元配列に重複値があるかどうかを検証します

PHP は 1 次元配列に重複値があるかどうかを検証します

王林
王林オリジナル
2023-05-11 10:01:06554ブラウズ

はじめに

Web 開発ではデータの一意性が非常に重要であるため、データの一意性をどのように確保するかが重要な考慮事項となります。多くの場合、配列内に重複データが存在するかどうかを確認する必要がありますが、PHP にはこの機能を実現するためのメソッドが多数用意されています。

1. count 関数と array_unique 関数を使用する

はじめに

PHP では、count 関数と array_unique 関数を使用して、1 つの関数に重複する値があるかどうかを判断できます。 -次元配列。

メソッドの説明

count 関数を使用して、配列内の要素数を取得できます。要素数が重複排除後の要素数と等しい場合は、要素が存在しないことを意味します。配列内の値が重複しています。 array_unique 関数を使用すると、重複排除後に新しい配列を返し、元の配列と重複排除配列の要素数が等しいかどうかを比較して、重複値があるかどうかを判断できます。

コードの実装

function isDuplicate($arr) {
    return count($arr) === count(array_unique($arr));
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

2. array_count_values 関数の使用

はじめに

PHP では、array_count_values 関数を使用してそれぞれの値を取得できます。 1 次元配列の項目 要素の出現数 1 より大きい要素をフィルタリングして除外し、重複する値があるかどうかを判断します。

メソッドの説明

array_count_values 関数を使用すると、連想配列を返すことができます。配列のキーは元の配列の値であり、値は配列の出現数です。元の配列の値。

コードの実装

function isDuplicate($arr) {
    $values = array_count_values($arr);
    return max($values) === 1;
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

3. for ループと in_array 関数の使用

はじめに

PHP では、for ループと in_array 関数を使用して、配列内の配列要素を検索し、その要素が配列内に出現するかどうかを判断します。

メソッドの説明

for ループは配列内の要素を走査するために使用され、in_array 関数は配列内に要素が出現するかどうかを判断するために使用されます。

コードの実装

function isDuplicate($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
        if (in_array($arr[$i], array_slice($arr, $i + 1))) {
            return false;
        }
    }
    return true;
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

4. PHP 7 での array_count_values 関数と array_filter 関数の使用

はじめに

PHP 7 では、 array_count_values 関数と array_filter 関数は、1 次元配列に重複する値があるかどうかを判断します。

メソッドの説明

array_count_values 関数を使用すると、連想配列を返すことができます。配列のキーは元の配列の値であり、値は配列の出現数です。元の配列の値。 array_filter 関数を使用すると、配列内の要素をフィルタリングできます。要素がコールバック関数の要件を満たしている場合、要素は保持されます。

コードの実装

function isDuplicate($arr) {
    $values = array_count_values($arr);
    $duplicate_values = array_filter($values, function ($value) {
        return $value > 1;
    });
    return count($duplicate_values) === 0;
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

概要

この記事では、PHP で 1 次元配列に重複値があるかどうかを判断するための 4 つの方法を紹介します。 array_unique 関数、array_count_values 関数の使用、for ループと in_array 関数の使用、PHP 7 の array_count_values 関数と array_filter 関数の使用。これらの方法にはそれぞれ長所と短所があり、開発者は実際の状況に応じて最適な方法を選択して、1 次元配列に重複値があるかどうかを判断できます。

以上がPHP は 1 次元配列に重複値があるかどうかを検証しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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