Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk memeriksa sama ada dua tatasusunan sama dengan PHP?

Bagaimana untuk memeriksa sama ada dua tatasusunan sama dengan PHP?

Linda Hamilton
Lepaskan: 2025-02-07 11:15:09
asal
848 orang telah melayarinya

How to Check If Two Arrays are Equal in PHP?

kaedah periksa persamaan array php

Dalam PHP, menentukan sama ada kedua -dua tatasusunan adalah sama bermakna unsur -unsur array adalah sama, perintah itu konsisten, dan juga jenis data yang sepadan. Artikel ini akan memperkenalkan beberapa kaedah untuk memeriksa kesamaan array dalam php:

  1. Undang -undang Keganasan

    Kaedah ini mula -mula menyusun dua tatasusunan dan kemudian membandingkannya menggunakan pengendali

    . Susun untuk memastikan bahawa urutan elemen tidak menjejaskan keputusan perbandingan. ==

    Contoh:

    <?php
    $array1 = [3, 2, 1];
    $array2 = [1, 2, 3];
    
    sort($array1);
    sort($array2);
    
    if ($array1 == $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Salin selepas log masuk

    output:

    <code>数组相等</code>
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

    kerumitan masa: o (n log n) Kerumitan ruang: (1)

  2. Gunakan pengendali ==

    Ini adalah cara untuk membandingkan secara langsung elemen array. Pengendali

    memeriksa sama ada kedua -dua tatasusunan adalah saiz yang sama dan mengandungi unsur -unsur yang sama, dan perintah itu juga mesti sama. Kaedah ini mudah dan mudah digunakan, tetapi ia tidak ketat dengan jenis data. Sebagai contoh, Integer 3 dan String '3' dianggap sama. ==

    Contoh:

    <?php
    $arr1 = [1, 2, 3, 4];
    $arr2 = [1, 2, 3, 4];
    
    if ($arr1 == $arr2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Salin selepas log masuk

    output:

    <code>数组相等</code>
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

    kerumitan masa: o (n) Kerumitan ruang: (1)

  3. Gunakan Kaedah array_diff()

    Ini adalah fungsi terbina dalam PHP untuk mencari perbezaan antara dua tatasusunan. Jika

    mengembalikan array kosong, ini bermakna kedua -dua tatasusunan adalah sama. Kaedah ini sering digunakan untuk membandingkan tatasusunan unsur -unsur yang tidak teratur dan unik. array_diff()

    Contoh:

    <?php
    $array1 = [1, 2, 3];
    $array2 = [3, 2, 1];
    
    if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Salin selepas log masuk

    output:

    <code>数组相等</code>
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

    kerumitan masa: o (n) Kerumitan ruang: o (n)

  4. Gunakan pengendali ===

    operator melakukan perbandingan elemen array yang ketat, ia memeriksa: ===

      Adakah saiz kedua -dua array yang sama?
    • sama ada dua tatasusunan mengandungi elemen yang sama juga mesti sama dalam urutan
    • Adakah jenis data elemen yang sama?
    kembali palsu jika keadaan tidak berpuas hati. Kaedah ini membuat perbandingan yang lebih tepat dengan mempertimbangkan jenis.

    Contoh:

    <?php
    $array1 = [1, 2, 3, 4];
    $array2 = [1, 2, '3', 4];
    
    if ($array1 === $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Salin selepas log masuk

    output:

    <code>数组不相等</code>
    Salin selepas log masuk

    kerumitan masa: o (n) Kerumitan ruang: (1)

Kaedah yang harus dipilih bergantung pada senario aplikasi tertentu dan keperluan untuk pemadanan jenis data. Jika pemeriksaan jenis ketat diperlukan, gunakan pengendali

; Untuk array yang tidak teratur, kaedah === lebih sesuai. Walaupun kaedah kekerasan boleh mengendalikan tatasusunan yang tidak disengajakan, mereka agak tidak cekap. ==

Atas ialah kandungan terperinci Bagaimana untuk memeriksa sama ada dua tatasusunan sama dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan