Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan fungsi array_diff_uassoc dalam PHP untuk membandingkan perbezaan tatasusunan berdasarkan nama kunci dan nilai kunci menggunakan fungsi panggil balik
Dalam pembangunan PHP, kami sering melibatkan membandingkan perbezaan antara dua tatasusunan untuk melaksanakan operasi data atau penyegerakan data. Antaranya, fungsi array_diff_uassoc yang disediakan oleh PHP membolehkan kita membandingkan perbezaan tatasusunan berdasarkan nama kunci dan nilai kunci Artikel ini akan memperkenalkan cara menggunakan fungsi ini.
array_diff_uassoc fungsi ialah fungsi perbandingan perbezaan tatasusunan terbina dalam PHP, yang boleh membandingkan perbezaan antara berbilang tatasusunan dan mengembalikan tatasusunan perbezaan berdasarkan hasil perbandingan nama kunci dan nilai kunci.
Takrifan fungsi ini adalah seperti berikut:
array array_diff_uassoc (array $array1, array $array2 [, array $... ], callable $key_compare_func)
Antaranya, $array1, $array2, dsb. ialah berbilang tatasusunan untuk dibandingkan dan $key_compare_func ialah fungsi panggil balik yang digunakan untuk membandingkan perbezaan antara nama kunci dan nilai kunci .
Mari kita gunakan contoh untuk menunjukkan cara menggunakan fungsi array_diff_uassoc.
Pertama, kami mentakrifkan dua tatasusunan:
$array1 = array("a"=>"apple", "b"=>"banana", "c"=>"cherry", "d"=>"date"); $array2 = array("a"=>"apple", "b"=>"banana", "f"=>"fig");
Seterusnya, kami mentakrifkan fungsi panggil balik tersuai untuk membandingkan perbezaan antara nama kunci dan nilai kunci:
function myfunction($key1, $key2, $value1, $value2) { if ($key1 == $key2 && $value1 == $value2) { return 0; } else { return 1; } }
Fungsi ini menerima empat parameter, satu untuk setiap dua nama kunci dan nilai kunci, jika nama kunci dan nilai kunci adalah sama, kembalikan 0, sebaliknya kembalikan 1 untuk perbandingan.
Akhir sekali, kami memanggil fungsi array_diff_uassoc untuk melaksanakan operasi perbandingan perbezaan tatasusunan:
$diff = array_diff_uassoc($array1, $array2, "myfunction"); print_r($diff);
Hasil output adalah seperti berikut:
Array ( [c] => cherry [d] => date )
Seperti yang anda lihat, fungsi ini mengembalikan tatasusunan perbezaan yang dibandingkan, iaitu elemen dalam $ array1 tetapi tidak dalam $array2. Di sini kami mengesahkan bahawa elemen "c" dan "d" dalam $array1 bukan dalam $array2 melalui tatasusunan perbezaan yang dikembalikan.
Akhir sekali, mari kita bercakap tentang peraturan untuk menggunakan fungsi panggil balik:
Atas ialah kandungan terperinci Cara menggunakan fungsi array_diff_uassoc dalam PHP untuk membandingkan perbezaan tatasusunan berdasarkan nama kunci dan nilai kunci menggunakan fungsi panggil balik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!