Rumah > pembangunan bahagian belakang > tutorial php > Kira persilangan dan kesatuan tatasusunan dengan cekap menggunakan kelas koleksi PHP

Kira persilangan dan kesatuan tatasusunan dengan cekap menggunakan kelas koleksi PHP

WBOY
Lepaskan: 2024-05-01 21:06:02
asal
459 orang telah melayarinya

Gunakan kelas koleksi PHP untuk mengira persilangan dan penyatuan tatasusunan dengan cekap Langkah-langkah khusus adalah seperti berikut: Gunakan kaedah intersect() untuk mengira persilangan: elemen yang muncul dalam dua tatasusunan pada masa yang sama. Gunakan kaedah union() untuk mengira gabungan elemen yang muncul dalam mana-mana tatasusunan. Kes praktikal: Bandingkan kandungan troli beli-belah untuk memahami produk bertindih pengguna dan produk unik.

Kira persilangan dan kesatuan tatasusunan dengan cekap menggunakan kelas koleksi PHP

Gunakan kelas koleksi PHP untuk mengira persilangan dan penyatuan tatasusunan dengan cekap

Dalam PHP, anda boleh menggunakan kelas pengumpulan untuk mengira persilangan dan penyatuan tatasusunan dengan cekap. Kelas pengumpulan menyediakan satu siri kaedah mudah untuk memanipulasi koleksi, menjadikan tugasan berkaitan lebih mudah.

Pasang kelas koleksi

Anda boleh menggunakan Komposer untuk memasang kelas koleksi PHP:

composer require phpcollection/phpcollection
Salin selepas log masuk

Kira persimpangan

Persilangan merujuk kepada elemen yang muncul dalam dua tatasusunan pada masa yang sama. Anda boleh menggunakan kaedah intersect() untuk mengira persilangan: intersect() 方法来计算交集:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];

$intersection = \PhpCollection\Set::fromArray($array1)->intersect(\PhpCollection\Set::fromArray($array2))->toArray();

print_r($intersection); // [3, 4, 5]
Salin selepas log masuk

计算并集

并集是指出现在任意一个数组中的元素。可以使用 union()

$union = \PhpCollection\Set::fromArray($array1)->union(\PhpCollection\Set::fromArray($array2))->toArray();

print_r($union); // [1, 2, 3, 4, 5, 6, 7]
Salin selepas log masuk

Kira kesatuan

Kesatuan merujuk kepada elemen yang muncul dalam mana-mana tatasusunan. Anda boleh menggunakan kaedah union() untuk mengira kesatuan:

$user1Cart = [1, 2, 3, 4, 5];
$user2Cart = [3, 4, 5, 6, 7];

$intersection = \PhpCollection\Set::fromArray($user1Cart)->intersect(\PhpCollection\Set::fromArray($user2Cart))->toArray();
$union = \PhpCollection\Set::fromArray($user1Cart)->union(\PhpCollection\Set::fromArray($user2Cart))->toArray();

echo "重叠商品:";
print_r($intersection);

echo "所有商品:";
print_r($union);
Salin selepas log masuk
🎜Kes praktikal: Membandingkan kandungan troli beli-belah dua pengguna🎜🎜🎜Andaikan anda mempunyai sistem troli beli-belah dan anda perlu bandingkan dua item pengguna dalam troli beli-belah. Anda boleh menggunakan kelas koleksi untuk mengira persilangan dan penyatuan item dengan cekap untuk memahami item yang pengguna bertindih dan item yang unik. 🎜rreeee

Atas ialah kandungan terperinci Kira persilangan dan kesatuan tatasusunan dengan cekap menggunakan kelas koleksi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan