Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP mengesahkan sama ada tatasusunan satu dimensi mempunyai nilai pendua

PHP mengesahkan sama ada tatasusunan satu dimensi mempunyai nilai pendua

王林
王林asal
2023-05-11 10:01:06602semak imbas

Kata Pengantar

Dalam pembangunan web, keunikan data adalah sangat kritikal Oleh itu, bagaimana untuk memastikan keunikan data adalah pertimbangan yang penting. Dalam banyak kes, kita perlu mengesahkan sama ada terdapat data pendua dalam tatasusunan PHP menyediakan banyak kaedah untuk mencapai fungsi ini.

1. Gunakan fungsi count dan array_unique

Pengenalan

Dalam PHP, anda boleh menggunakan fungsi count dan array_unique untuk menentukan sama ada terdapat nilai pendua dalam satu tatasusunan -dimensi.

Penerangan Kaedah

Fungsi kiraan boleh digunakan untuk mendapatkan bilangan elemen tatasusunan Jika bilangan elemen adalah sama dengan bilangan elemen selepas penyahduplikasian, ia bermakna tiada nilai pendua dalam tatasusunan. Fungsi array_unique boleh digunakan untuk mengembalikan tatasusunan baharu selepas penyahduplikasian dan membandingkan sama ada bilangan elemen dalam tatasusunan asal dan tatasusunan penduaan adalah sama untuk menentukan sama ada terdapat nilai pendua.

Pelaksanaan kod

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 Gunakan fungsi array_count_values

Pengenalan

Dalam PHP, anda boleh menggunakan fungsi array_count_values ​​​​untuk memasukkan setiap item tatasusunan satu dimensi Bilangan kejadian unsur Tapis unsur yang kejadiannya lebih besar daripada 1 untuk menentukan sama ada terdapat nilai pendua.

Penerangan kaedah

fungsi array_count_values ​​​​boleh digunakan untuk mengembalikan tatasusunan bersekutu Kunci tatasusunan ialah nilai dalam tatasusunan asal, dan nilainya ialah bilangan kejadian nilai dalam tatasusunan asal.

Pelaksanaan kod

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. Menggunakan fungsi gelung dan in_array

Pengenalan

Dalam PHP, anda boleh menggunakan fungsi gelung dan in_array untuk merentasi tatasusunan elemen dalam tatasusunan, dan tentukan sama ada elemen itu muncul dalam tatasusunan.

Penerangan Kaedah

Gelung for digunakan untuk merentasi elemen dalam tatasusunan dan fungsi in_array digunakan untuk menentukan sama ada elemen muncul dalam tatasusunan.

Pelaksanaan kod

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. Menggunakan fungsi array_count_values ​​​​dan fungsi array_filter dalam PHP 7

Pengenalan

Dalam PHP 7, anda boleh menggunakan array_count_values ​​​​fungsi dan Fungsi array_filter menentukan sama ada terdapat nilai pendua dalam tatasusunan satu dimensi.

Penerangan kaedah

fungsi array_count_values ​​​​boleh digunakan untuk mengembalikan tatasusunan bersekutu Kunci tatasusunan ialah nilai dalam tatasusunan asal, dan nilainya ialah bilangan kejadian nilai dalam tatasusunan asal. Fungsi array_filter boleh digunakan untuk menapis elemen dalam tatasusunan Jika elemen memenuhi keperluan fungsi panggil balik, elemen itu dikekalkan.

Pelaksanaan kod

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)

Ringkasan

Artikel ini memperkenalkan empat kaedah dalam PHP untuk menentukan sama ada terdapat nilai pendua dalam tatasusunan satu dimensi, termasuk menggunakan kiraan dan fungsi array_unique, dan menggunakan fungsi array_count_values, menggunakan gelung for dan fungsi in_array, dan menggunakan fungsi array_count_values ​​​​dan fungsi array_filter dalam PHP 7. Setiap kaedah ini mempunyai kelebihan dan kekurangannya sendiri Pembangun boleh memilih kaedah yang paling sesuai mengikut situasi sebenar untuk menentukan sama ada terdapat nilai pendua dalam tatasusunan satu dimensi.

Atas ialah kandungan terperinci PHP mengesahkan sama ada tatasusunan satu dimensi mempunyai nilai pendua. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn