Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membandingkan dua tatasusunan dalam php

Bagaimana untuk membandingkan dua tatasusunan dalam php

PHPz
PHPzasal
2023-04-18 09:47:072207semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang digunakan secara meluas dalam pembangunan tapak web dan interaksi data. Membandingkan dua tatasusunan juga merupakan salah satu operasi asas Artikel ini akan memperkenalkan beberapa kaedah berbeza untuk membandingkan dua tatasusunan.

1 Gunakan operator == dan ===

Menggunakan operator "==" dan "===" ialah cara biasa untuk membandingkan dua tatasusunan. Perbezaan antara kedua-dua pengendali ialah pengendali "==" membandingkan sama ada nilai utama kedua-dua tatasusunan adalah sama, manakala pengendali "===" juga membandingkan sama ada jenis kedua-dua tatasusunan adalah sama.

Sebagai contoh, katakan terdapat dua tatasusunan, $arr1 = tatasusunan(1, 2, 3); dan $arr2 = tatasusunan(1, 2, 3);, kemudian gunakan operator "==" untuk bandingkan dua tatasusunan. >Jika menggunakan operator " ===" membandingkan dua tatasusunan:

jika($arr1 === $arr2){

echo "两个数组相同";

}lain{

echo "两个数组不同";

}

2. Gunakan fungsi array_diff

Menggunakan fungsi array_diff juga merupakan cara untuk membandingkan dua tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang terdiri daripada elemen dalam tatasusunan1 yang tiada dalam tatasusunan2.

echo "两个数组相同";
Sebagai contoh, katakan terdapat dua tatasusunan, $arr1 = tatasusunan(1, 2, 3); dan $arr2 = tatasusunan(2, 3);, kemudian gunakan fungsi array_diff untuk membandingkan dua tatasusunan:

$diff = array_diff($arr1, $arr2);
echo "两个数组不同";
if(count($diff) == 0){

}lain{

}

Dalam contoh di atas, jika panjang tatasusunan $diff ialah 0, ini bermakna unsur-unsur $arr1 dan $arr2 adalah sama, dan output "dua tatasusunan ialah sama", sebaliknya ia bermakna $arr1 dan Unsur-unsur $arr2 adalah berbeza, dan "dua tatasusunan adalah berbeza" adalah output.


3. Gunakan fungsi array_intersect

echo "两个数组相同";
Menggunakan fungsi array_intersect juga merupakan cara untuk membandingkan dua tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang terdiri daripada elemen yang terkandung dalam tatasusunan1 dan tatasusunan2.

Sebagai contoh, dengan mengandaikan terdapat dua tatasusunan, $arr1 = tatasusunan(1, 2, 3); dan $arr2 = tatasusunan(2, 3);, gunakan fungsi array_intersect untuk membandingkan dua tatasusunan:
echo "两个数组不同";

$intersect = array_intersect($arr1, $arr2);

if(count($intersect) == count($arr1)){

}lain{

}

Dalam contoh di atas, jika bilangan elemen dalam tatasusunan $intersect adalah sama dengan bilangan elemen dalam $arr1, ia bermakna elemen $arr1 dan $ arr2 adalah sama, dan output ialah "Dua tatasusunan Sama", jika tidak, ia bermakna unsur-unsur $arr1 dan $arr2 adalah berbeza, dan output ialah "dua tatasusunan adalah berbeza".


4. Gunakan fungsi array_udiff

echo "两个数组相同";
Menggunakan fungsi array_udiff juga merupakan cara untuk membandingkan dua tatasusunan. Fungsi ini membandingkan unsur-unsur dalam tatasusunan 1 dengan unsur-unsur dalam tatasusunan 2, dan jika kedua-dua elemen itu dianggap sama, ia tidak termasuk dalam tatasusunan yang terhasil.

Sebagai contoh, dengan mengandaikan terdapat dua tatasusunan, $arr1 = tatasusunan(1, 2, 3); dan $arr2 = tatasusunan(2, 3);, gunakan fungsi tatasusunan_udiff untuk membandingkan dua tatasusunan:
echo "两个数组不同";

$diff = array_udiff($arr1, $arr2, function($a, $b){

});

Jika panjang $diff tatasusunan ialah 0, Ini bermakna unsur-unsur $arr1 dan $arr2 adalah sama, dan outputnya ialah "dua tatasusunan adalah sama". output ialah "dua tatasusunan adalah berbeza."

Ringkasan

Di atas memperkenalkan empat kaedah membandingkan dua tatasusunan, setiap kaedah mempunyai kelebihan dan kekurangannya. Dengan menggunakan kaedah yang berbeza, kita boleh memilih kaedah yang paling sesuai mengikut senario aplikasi tertentu. Pada masa yang sama, perlu diingatkan bahawa apabila membandingkan dua tatasusunan, terutamanya apabila menggunakan operator "==", perhatikan susunan elemen dalam tatasusunan, kerana susunan elemen yang berbeza dalam tatasusunan juga boleh menyebabkan tatasusunan menjadi berbeza.

Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua tatasusunan dalam php. 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