Fungsi array_diff_uassoc() PHP
Contoh
Bandingkan nama kunci dan nilai kunci dari dua array (menggunakan fungsi pengguna untuk membandingkan nama kunci) dan kembalikan set diff:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"merah","b"=>"hijau","e"=>"biru"); $result=array_diff_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Definisi dan Penggunaan
Fungsi array_diff_uassoc() digunakan untuk membandingkan nama kunci dan nilai kunci dari dua (atau lebih banyak) array dan mengembalikan set diff.
Keterangan:Fungsi ini menggunakan fungsi pengguna yang ditentukan untuk membandingkan nama kunci!
Fungsi ini membandingkan nama kunci dan nilai kunci dari dua (atau lebih banyak) array dan mengembalikan array set diff, yang termasuk semua nilai yang ada diarray1dalam tetapi bukan dalam mana-mana array parameter lain (array2 atau array3 dan lain-lain) nama kunci dan nilai kunci.
Sintaks
array_diff_uassoc(array1,array2,array3,...myfunction);
Parameter | Deskripsi |
---|---|
array1 | Diperlukan. Array pertama yang dibandingkan dengan array lain. |
array2 | Diperlukan. Array yang dibandingkan dengan array pertama. |
array3,... | Pilihan. Array lain yang dibandingkan dengan array pertama. |
myfunction | Diperlukan. Definisi string yang mendefinisikan fungsi pembanding yang dapat dipanggil. Jika parameter pertama lebih kecil, sama, atau lebih besar daripada parameter kedua, fungsi pembanding harus mengembalikan integer yang kecil, sama, atau besar dari 0. |
Pengertian
Fungsi array_diff_uassoc() digunakan untuk menghitung set diff dari dua atau lebih array menggunakan kembalian fungsi pengguna yang ditentukan untuk pengecekan indeks. Mengembalikan array yang termasuk semua nilai yang ada di array1 dalam tetapi bukan dalam mana-mana array parameter lain.
Perhatian, berbeza dengan fungsi array_diff(), nama kunci juga akan dibandingkan.
Parameter myfunction adalah fungsi yang ditakrifkan pengguna sendiri untuk membandingkan dua array, fungsi ini mesti mempunyai dua parameter - iaitu nama kunci yang akan dihargai. Oleh itu, ia bertentangan dengan perilaku fungsi array_diff_assoc(), yang menggunakan fungsi dalaman untuk membandingkan.
Nama kunci dalam array yang kembali tetap sama.
Butir teknikal
Hasil kembalian: | Kembalikan array diff set, array ini termasuk semua nilai dalam array yang dibandingkan (array1dalam tetapi bukan dalam mana-mana array parameter lain (array2 atau array3 dan lain-lain) nama kunci dan nilai kunci. |
Versi PHP: | 5+ |
Lebih banyak contoh
Contoh 1
Bandingkan nama kunci dan nilai kunci tiga array (menggunakan fungsi pengguna sendiri untuk membandingkan nama kunci) dan kembalikan set diff:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>