Rumah > Artikel > pembangunan bahagian belakang > Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)
Dalam artikel sebelumnya "Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi) ", pengetahuan yang berkaitan tentang cara mendapatkan persilangan berbilang tatasusunan dalam operasi tatasusunan PHP telah diperkenalkan secara terperinci. Dalam artikel ini, kita akan melihat cara mendapatkan set perbezaan berbilang tatasusunan dalam operasi tatasusunan. Semoga ia membantu semua orang!
Dalam artikel sebelum ini kita telah mengetahui bahawa jika kita ingin mendapatkan persilangan antara berbilang tatasusunan, kita boleh menggunakan fungsi array_intersect
, fungsi array_intersect_key
dan array_intersect_assoc
Fungsi menggunakan kaedah yang berbeza untuk mendapatkan persilangan antara tatasusunan. Oleh kerana terdapat kaedah untuk mendapatkan persilangan antara tatasusunan dalam PHP, terdapat juga kaedah untuk mendapatkan perbezaan antara tatasusunan PHP.
Terdapat banyak cara untuk mendapatkan perbezaan antara tatasusunan, kami juga boleh membandingkan tatasusunan dengan membandingkan nilai kunci, membandingkan nama kunci dan membandingkan nilai kunci dan nama kunci, dan kemudian dapatkan. perbezaan antara susunan. Mari kita lihat penggunaan ketiga-tiga kaedah ini secara berasingan.
Bandingkan nilai utama -<span style="font-size: 20px;">array_diff</span>
array_diffFungsi
array_diff
dalam Terdapat fungsi array_diff
terbina dalam dalam PHP untuk membandingkan tatasusunan dengan membandingkan nilai kunci, dan kemudian mengembalikan perbezaan antara tatasusunan. Format sintaks asas bagi fungsi
array_diff(array1,array2,array3...);
Perlu diambil perhatian bahawa tatasusunan parameter123 mewakili tatasusunan yang digunakan untuk perbandingan, dan tatasusunan perbezaan hasil yang dikembalikan, unsur-unsur dalam tatasusunan ini dimasukkan ke dalam elemen tatasusunan pertama. Tatasusunan yang dikembalikan ialah nilai dalam tatasusunan pertama yang tidak ditemui dalam tatasusunan lain dan nama kunci dalam tatasusunan yang dikembalikan kekal tidak berubah.
array_diff
Mari kita lihat penggunaan fungsi
melalui contoh seperti berikut:
<?php $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear","Apple","Grape"); $fruit3 = array("Watermelon","Orange","Apple"); $intersection = array_diff($fruit1, $fruit2, $fruit3); print_r($intersection); ?>
Hasil keluaran:
Melalui contoh di atas, kami menggunakan fungsi array_diff
, dan hasil yang dikembalikan adalah betul-betul perbezaan antara tatasusunan 1 dan tatasusunan lain. Iaitu, hasil yang dikembalikan adalah betul-betul elemen yang berada dalam tatasusunan 1 tetapi tidak dalam tatasusunan lain. Sudah tentu, ini adalah membandingkan nilai utama elemen Mari kita lihat perbezaan dalam hasil yang dikembalikan dengan membandingkan nama utama elemen.
Bandingkan nama kunci-array_diff_key
fungsi
Dalam PHP, anda boleh menggunakan fungsi array_intersect_key
untuk membandingkan nama kunci antara tatasusunan dan kembali Persilangan antara tatasusunan adalah serupa dengan fungsi array_diff_key
yang membandingkan nama kunci dan mengembalikan perbezaan antara tatasusunan. Format sintaks asas bagi fungsi
array_diff_key
adalah seperti berikut:
array_diff_key(array1,array2,array3...);
Perlu diambil perhatian bahawa tatasusunan parameter123 mewakili tatasusunan yang perlu dibandingkan, dan unsur-unsur dalam tatasusunan perbezaan yang dikembalikan ialah Elemen dalam tatasusunan 1, tetapi tidak dalam mana-mana elemen tatasusunan lain.
Seterusnya mari kita lihat aplikasi fungsi array_diff_key
melalui contoh seperti berikut:
<?php $fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange"); $fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape"); $fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple"); $intersection = array_diff_key($fruit1, $fruit2, $fruit3); print_r($intersection); ?>
Hasil keluaran:
<.>
untuk membandingkan nama kunci antara tatasusunan, dan kemudian mengembalikan set perbezaan Hasil yang dikembalikan adalah betul-betul nama kunci tatasusunan 1 tetapi tatasusunan lain Nama kunci tidak ditemui dalam elemen. Ini dilakukan dengan membandingkan nama kunci Mari kita lihat cara membandingkan nilai kunci dan nama kunci pada masa yang sama. array_diff_key
Bandingkan nilai kunci dan nama kunci-Fungsiarray_diff_assoc
, dan kemudian hasil yang dikembalikan ialah persilangan elemen tatasusunan Serupa dengan fungsi array_intersect_assoc
, ia juga membandingkan nilai kunci dan nama kunci, tetapi hasil yang dikembalikan ialah perbezaan dalam elemen tatasusunan. . array_diff_assoc
Format sintaks asas fungsi adalah seperti berikut: array_diff_assoc
array_diff_assoc(array1,array2,array3...);Perlu diambil perhatian bahawa tatasusunan parameter123 mewakili tatasusunan yang perlu dibandingkan nilai dan nama kunci, yang dikembalikan Elemen dalam tatasusunan perbezaan adalah semua elemen dalam tatasusunan 1, tetapi tidak dalam elemen tatasusunan lain.
melalui contoh seperti berikut: array_diff_assoc
<?php $fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange"); $fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape"); $fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple"); $intersection = array_diff_assoc($fruit1, $fruit2, $fruit3); print_r($intersection); ?>Hasil keluaran:
Melalui contoh di atas, kami menggunakan fungsi
untuk membandingkan nilai kunci dan nama kunci antara tatasusunan, dan kemudian mengembalikan set perbezaan array 1, tetapi ia bukan dalam tatasusunan lain.array_diff_assoc
Jika anda berminat, anda boleh klik pada "
" untuk mengetahui lebih lanjut tentang pengetahuan PHP.
Atas ialah kandungan terperinci Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!