Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php
Langkah perbandingan: 1. Gunakan pernyataan "array_diff_assoc($arr1,$arr2)" untuk membandingkan nama kunci dan nilai kunci kedua-dua tatasusunan dan mengembalikan tatasusunan perbezaan 2. Gunakan "tatasusunan perbezaan ==[] " pernyataan menentukan sama ada tatasusunan perbezaan ialah tatasusunan kosong. Jika tatasusunan kosong, ini bermakna kedua-dua tatasusunan yang dibandingkan adalah sama, jika tidak, ia tidak sama.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Dalam php, anda boleh menggunakan tatasusunan Set perbezaan digunakan untuk menentukan sama ada dua tatasusunan adalah sama.
Jika perbezaan antara dua tatasusunan kosong, maka tiada unsur yang berbeza dalam dua tatasusunan, iaitu dua tatasusunan adalah sama
Jika set perbezaan dua tatasusunan tidak kosong, maka terdapat unsur-unsur yang berbeza dalam dua tatasusunan, iaitu dua tatasusunan tidak sama
Jadi apakah itu set perbezaan tatasusunan? Anda boleh menggunakan fungsi array_diff_assoc().
array_diff_assoc() digunakan untuk membandingkan nama kunci dan nilai kunci dua (atau lebih) tatasusunan dan mengembalikan tatasusunan perbezaan.
Dua tatasusunan adalah sama hanya jika nama kunci tatasusunan dan nilai kuncinya adalah sama.
Langkah pelaksanaan:
1 Gunakan array_diff_assoc() untuk mendapatkan perbezaan tatasusunan
<?php header("content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"red","b"=>"green","c"=>"blue"); $arr3=array("a"=>"red","b"=>"green","c"=>"blue"); $diff1=array_diff_assoc($arr1,$arr2); var_dump($diff1); $diff2=array_diff_assoc($arr2,$arr3); var_dump($diff2); ?>
Daripada keluaran dapat dilihat terdapat perbezaan yang ditetapkan antara $arr1 dan $arr2, tetapi tiada perbezaan yang ditetapkan antara $arr2 dan $arr3
2 Tentukan sama ada tatasusunan set perbezaan itu tatasusunan kosong
if($diff1==[]){ echo "两数组相等<br>"; } else{ echo "两数组不相等<br>"; }
Kerana tatasusunan perbezaan $arr1 dan $arr2 bukanlah tatasusunan kosong, jadi ia tidak sama
if($diff2==[]){ echo "两数组相等<br>"; } else{ echo "两数组不相等<br>"; }
Kerana $arr2 dan $arr3 ialah tatasusunan kosong dan oleh itu sama.
Sambungan: Merangkumkan kod:
<?php header("content-type:text/html;charset=utf-8"); function f($arr1,$arr2){ $diff1=array_diff_assoc($arr1,$arr2); if($diff1==[]){ echo "两数组相等<br>"; } else{ echo "两数组不相等<br>"; } } $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"red","b"=>"green","c"=>"blue"); $arr3=array("a"=>"red","b"=>"green","c"=>"blue"); f($arr1,$arr2); f($arr2,$arr3); ?>
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!