Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza
Kaedah perbandingan: 1. Gunakan pernyataan "array_diff(array1, array2)" untuk membandingkan nilai kunci; 2. Gunakan pernyataan "array_diff_key(array1, array2)" untuk membandingkan nama kunci; array_diff_assoc(array 1, array 2)" pernyataan serentak membandingkan nama kunci dan nilai kunci tatasusunan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Bandingkan dua php Array dan kembalikan elemen yang berbeza
Jika anda ingin membandingkan dua tatasusunan dan mendapatkan elemen yang berbeza, anda hanya perlu membandingkan tatasusunan dan mengambil set perbezaan.
Dalam PHP, anda boleh menggunakan fungsi berikut untuk mengambil set perbezaan:
array_diff() function
array_diff_key () Fungsi
fungsi array_diff_assoc()
fungsi array_diff() - bandingkan nilai kunci array
Fungsi array_diff($arr1,$arr2...) hanya membandingkan nilai utama tatasusunan dan mengembalikan tatasusunan perbezaan Unsur-unsur dalam tatasusunan perbezaan wujud dalam tatasusunan yang dibandingkan $arr1, tetapi tidak wujud dalam tatasusunan parameter lain $arr2....
Contoh: Kembalikan elemen tatasusunan yang berbeza
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); $result=array_diff($arr1,$arr2); echo "两个数组中,不同的元素为:"; var_dump($result); ?>
Dalam contoh di atas, hanya 1 nama kunci dalam tatasusunan $arr1 dan tatasusunan $arr2 tidak Begitu juga, berdasarkan tatasusunan $arr1, nilai ""c"=>"blue"
" akan diperolehi.
2. Fungsi array_diff_key() - membandingkan nama kunci tatasusunan
array_diff_key($arr1,$arr2...) fungsi hanya membandingkan nama kunci tatasusunan , Juga mengembalikan tatasusunan perbezaan Unsur-unsur dalam tatasusunan perbezaan wujud dalam tatasusunan yang dibandingkan $arr1, tetapi tidak wujud dalam tatasusunan parameter lain $arr2....
Contoh: Kembalikan elemen tatasusunan yang berbeza
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); $result=array_diff_key($arr1,$arr2); echo "两个数组中,不同的元素为:"; var_dump($result); ?>
Dalam contoh di atas, dua nama utama dalam tatasusunan $arr1 dan tatasusunan $arr2 adalah berbeza , berdasarkan tatasusunan $arr1, nilai ""c"=>"blue"
" dan ""d"=>"yellow"
" akan diperolehi.
3. fungsi array_diff_assoc() - bandingkan nama kunci dan nilai kunci tatasusunan
array_diff_assoc($arr1,$arr2...) fungsi akan bandingkan kekunci tatasusunan Kedua-dua nama dan nilai kekunci dibandingkan, dan tatasusunan perbezaan juga dikembalikan Elemen perbezaan akan diperolehi daripada tatasusunan $arr1 seperti tatasusunan_diff() dan tatasusunan_diff_key().
Contoh: Kembalikan elemen tatasusunan yang berbeza
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); $result=array_diff_assoc($arr1,$arr2); echo "两个数组中,不同的元素为:"; var_dump($result); ?>
Dalam contoh di atas, tatasusunan $arr1 dan tatasusunan $arr2 dibandingkan, dan terdapat tiga elemen berbeza, dan kemudian berdasarkan tatasusunan $arr1, nilai ""a"=>"red"
", ""c"=>"blue"
", dan ""d"=>"yellow"
" akan diperolehi.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!