Membandingkan nilai kunci dari dua larik (menggunakan fungsi yang ditentukan pengguna untuk membandingkan nilai kunci) dan mengembalikan perpotongan:
<?php fungsi fungsi saya ( $a , $b ) { jika ( $a === $b ) { kembali 0 ; kembali ( $ a > $ b ) ? $a1 = larik ( " a " => " merah " , " b " = > " hijau " , " c " => " biru " ) $a2 = larik ( " a " => " biru " , " b " = > " hitam " , " e " = > " biru " ) ; $ hasil = array_uintersect ( $ a1 , $ a2 , " fungsi saya " ) ;Fungsi array_uintersect() membandingkan nilai kunci dari dua (atau lebih) array dan mengembalikan perpotongannya.
Catatan: Fungsi ini menggunakan fungsi yang ditentukan pengguna untuk membandingkan nilai kunci!
Fungsi ini membandingkan nilai kunci dari dua (atau lebih) array dan mengembalikan array persimpangan yang mencakup semua nilai dalam array yang dibandingkan ( array1 ), serta array parameter lainnya ( array2 atau array3, dll.) ) dalam nilai kunci.
array_uintersect( array1,array2,array3...,fungsi saya )
parameter | menggambarkan |
---|---|
susunan1 | Diperlukan. Array pertama yang dibandingkan dengan array lainnya. |
susunan2 | Diperlukan. Array yang akan dibandingkan dengan array pertama. |
larik3,... | Opsional. Array tambahan untuk dibandingkan dengan array pertama. |
fungsi saya | Diperlukan. Sebuah string yang mendefinisikan fungsi perbandingan yang dapat dipanggil. Jika parameter pertama <, =, > parameter kedua, fungsi perbandingan terkait harus mengembalikan bilangan bulat <, =, > 0. |
Nilai pengembalian: | Mengembalikan array persimpangan yang berisi semua kunci dalam array yang dibandingkan ( array1 ) dan array parameter lainnya ( array2 atau array3 , dll.). |
---|---|
Versi PHP: | 5+ |
Gunakan fungsi strcasecmp bawaan untuk mengabaikan perbandingan kasus dan mengembalikan titik potong:
<?php $array1 = larik ( " a " => " hijau " , " b " => " coklat " , " c " => " biru " , " merah " ) $array2 = larik ( " a " => " HIJAU " ; , " B " => " coklat " , " kuning " , " merah " ) ; print_r ( array_uintersect ( $array1 , $array2 , " strcasecmp " ) ? > ;