Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menentukan sama ada tatasusunan mempunyai nilai yang sama dalam php

Bagaimana untuk menentukan sama ada tatasusunan mempunyai nilai yang sama dalam php

PHPz
Lepaskan: 2023-04-26 11:22:26
asal
973 orang telah melayarinya

Dalam PHP, terdapat banyak cara untuk menentukan sama ada tatasusunan mempunyai nilai yang sama Mari perkenalkan kaedah ini secara berasingan.

Kaedah 1: Gunakan gelung untuk melintasi

Menggunakan gelung untuk melintasi tatasusunan ialah cara paling mudah Kod adalah seperti berikut:

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;
}
Salin selepas log masuk

Kaedah ini menggunakan gelung berganda Pertama, Mengulang setiap elemen dalam tatasusunan, dan kemudian membandingkannya dengan setiap elemen selepasnya.

Kaedah 2: Gunakan fungsi terbina dalam PHP

Fungsi terbina dalam PHP array_unique() untuk mengalih keluar nilai pendua dalam tatasusunan Dengan membandingkan panjang tatasusunan, anda boleh menentukan sama ada terdapat nilai pendua dalam tatasusunan asal Kodnya adalah seperti berikut:

function hasDuplicate($arr) {
    $unique_arr = array_unique($arr);
    return count($arr) != count($unique_arr);
}
Salin selepas log masuk

Kaedah ini mula-mula menggunakan fungsi array_unique() untuk mengalih keluar nilai pendua, dan kemudian membandingkan sama ada panjang asal. tatasusunan dan tatasusunan yang dinyahduplikasi adalah sama.

Kaedah 3: Gunakan fungsi terbina dalam PHP

Fungsi terbina dalam PHP array_count_values() boleh mengembalikan bilangan kejadian semua elemen dalam tatasusunan, dengan membandingkan sama ada bilangan kejadian setiap nilai dalam tatasusunan melebihi 1, Anda boleh menentukan sama ada terdapat nilai pendua dalam tatasusunan asal Kodnya adalah seperti berikut:

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

Kaedah ini mula-mula menggunakan fungsi array_count_values() untuk mendapatkan. bilangan kejadian setiap elemen, dan kemudian berulang melalui bilangan kejadian setiap elemen Jika terdapat Jika elemen muncul lebih daripada 1, ia bermakna terdapat nilai pendua dalam tatasusunan asal.

Kaedah 4: Gunakan fungsi terbina dalam PHP

Fungsi terbina dalam PHP array_diff_assoc() Anda boleh membandingkan sama ada nilai kunci dua tatasusunan adalah sama dengan membandingkan perbezaan antara tatasusunan asal dan tatasusunan nyahduplikasi, Anda boleh menentukan sama ada terdapat nilai pendua dalam tatasusunan asal Kodnya adalah seperti berikut:

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

Kaedah ini mula-mula menggunakan fungsi array_unique() untuk. alih keluar nilai pendua, kemudian gunakan fungsi array_diff_assoc() untuk membandingkan dua tatasusunan, dan akhirnya menentukan perbezaannya. Jika tidak, ini bermakna terdapat nilai pendua dalam tatasusunan asal.

Ringkasnya, keempat-empat kaedah di atas semua boleh digunakan untuk menentukan sama ada tatasusunan mempunyai nilai yang sama, masing-masing mempunyai kelebihan dan kekurangannya sendiri.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tatasusunan mempunyai nilai yang sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan