Rumah >pembangunan bahagian belakang >masalah PHP >PHP menentukan sama ada kandungan dua tatasusunan adalah sama
Apabila menulis aplikasi web, tugas yang sangat biasa ialah membandingkan sama ada kandungan dua tatasusunan adalah sama. Dalam PHP, membandingkan kandungan tatasusunan memerlukan penggunaan fungsi dan pengendali tertentu.
PHP menyediakan pelbagai cara untuk membandingkan kandungan dua tatasusunan, termasuk menggunakan operator perbandingan, menggunakan fungsi array_diff dan menggunakan fungsi array_intersect. Di bawah ini kami memperkenalkan kaedah ini masing-masing.
Pengendali perbandingan dalam PHP termasuk sama (==) dan sama (===). Sangat mudah untuk membandingkan dua tatasusunan untuk kesamaan menggunakan kedua-dua pengendali ini.
Pengendali kesamarataan (==) membandingkan nilai dua tatasusunan untuk kesamaan, tanpa mengira jenisnya. Contohnya:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("apple", "orange", "banana"); if ($arr1 == $arr2) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
Dalam contoh ini, kita membandingkan dua tatasusunan, walaupun elemennya berada dalam susunan yang berbeza, nilainya adalah sama. Oleh itu, "Kedua-dua tatasusunan adalah sama" akan dikeluarkan.
Pengendali kongruen (===) membandingkan sama ada nilai dan jenis dua tatasusunan adalah betul-betul sama. Contohnya:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("apple", "orange", "banana"); if ($arr1 === $arr2) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
Dalam contoh ini, dua tatasusunan tidak dianggap sama walaupun elemen mereka berada dalam susunan yang berbeza.
Fungsi array_diff digunakan untuk membandingkan perbezaan antara dua tatasusunan. Ia mengembalikan elemen yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua.
Contohnya:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("apple", "orange"); $diff = array_diff($arr1, $arr2); if (count($diff) == 0) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
Dalam contoh ini, kami membandingkan arr1 dan arr2. Fungsi array_diff mengembalikan elemen yang wujud dalam array1 tetapi bukan dalam array2, iaitu "pisang". Jadi apabila tatasusunan $diff kosong, kita tahu dua tatasusunan adalah sama.
Fungsi array_intersect digunakan untuk membandingkan persilangan dua tatasusunan (iaitu semua elemen yang terkandung dalam kedua-dua tatasusunan). Dua tatasusunan dianggap sama jika semua elemen dalam tatasusunan adalah sama.
Contohnya:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("orange", "apple"); $intersect = array_intersect($arr1, $arr2); if (count($intersect) == count($arr1) && count($intersect) == count($arr2)) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
Dalam contoh ini, kami membandingkan arr1 dan arr2. Fungsi array_intersect mengembalikan elemen yang wujud dalam kedua-dua tatasusunan, iaitu "epal" dan "oren". Oleh itu, kita tahu dua tatasusunan adalah sama apabila persimpangan yang dikembalikan mengandungi semua elemen dalam kedua-dua tatasusunan.
Ringkasan
Dalam PHP, membandingkan kandungan dua tatasusunan memerlukan penggunaan fungsi dan pengendali tertentu. Anda boleh menggunakan operator perbandingan, fungsi array_diff, fungsi array_intersect, dsb. Adalah disyorkan untuk memilih kaedah yang paling sesuai dengan aplikasi anda untuk menyemak sama ada dua tatasusunan adalah sama.
Atas ialah kandungan terperinci PHP menentukan sama ada kandungan dua tatasusunan adalah sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!