Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)

Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)

WBOY
WBOYasal
2021-11-08 10:29:073653semak imbas

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!

Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)

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

adalah seperti berikut:
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:

Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)

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_keyfungsi

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:
<.>

Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)

Melalui contoh di atas, kami menggunakan fungsi

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

Dalam PHP, anda boleh membandingkan nilai kunci dan nama kunci melalui fungsi

, 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.


Mari kita lihat aplikasi fungsi

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:


Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi)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_assocJika anda berminat, anda boleh klik pada "

Tutorial Video PHP

" 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn