Dalam PHP, kadangkala kita perlu mendapatkan item yang berbeza antara dua tatasusunan, iaitu, cari elemen yang wujud dalam tatasusunan A tetapi bukan dalam tatasusunan B, atau yang wujud dalam tatasusunan B tetapi bukan dalam tatasusunan A. elemen kewujudan.
Operasi jenis ini sangat biasa dalam pembangunan sebenar Contohnya, dari segi perbandingan perbezaan, penyegerakan data, dll., kita mungkin perlu mencari perbezaan antara dua tatasusunan dan mengendalikannya dengan sewajarnya.
Jadi, bagaimana untuk mendapatkan item yang berbeza antara dua tatasusunan dalam PHP? Di bawah ini saya akan memperkenalkan dua kaedah secara terperinci kepada anda.
Kaedah 1: Gunakan fungsi array_diff()
PHP mempunyai fungsi array_diff() terbina dalam yang sangat mudah, yang boleh mengira perbezaan dan mengembalikan item yang berbeza antara tatasusunan A dan tatasusunan lain .
Penggunaan khusus adalah seperti berikut:
$a = array('apple', 'banana', 'orange', 'watermelon'); $b = array('apple', 'banana', 'grape'); $diff = array_diff($a, $b); print_r($diff);
Hasil keluarannya ialah:
Array ( [2] => orange [3] => watermelon )
Dalam kod di atas, kami mula-mula mentakrifkan dua tatasusunan $a dan $ b, masing-masing Mengandungi unsur yang berbeza. Kemudian, kami memanggil fungsi array_diff(), menghantar dalam dua tatasusunan sebagai parameter Fungsi akan mengira perbezaan secara automatik dan menyimpan hasilnya dalam pembolehubah $diff. Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan kandungan pembolehubah $diff untuk melihat item berbeza antara dua tatasusunan.
Perlu diambil perhatian bahawa fungsi array_diff() hanya boleh mencari elemen yang wujud dalam tatasusunan A tetapi tidak dalam tatasusunan lain, tetapi tidak dapat mencari elemen yang wujud dalam tatasusunan B tetapi tidak wujud dalam tatasusunan A. Jika kita perlu mencari item yang berbeza dalam tatasusunan B, kita perlu menggunakan fungsi array_diff() untuk melaksanakannya semula Kodnya adalah seperti berikut:
$diff = array_diff($b, $a); print_r($diff);
Hasil output ialah:
Array ( [2] => grape )
$a = array('apple', 'banana', 'orange', 'watermelon'); $b = array('apple', 'banana', 'grape'); $diff = array_unique(array_merge($a, $b)); print_r($diff);
Array ( [0] => apple [1] => banana [2] => orange [3] => watermelon [4] => grape )
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan elemen berbeza dari dua tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!