Rumah >pembangunan bahagian belakang >tutorial php >Kira persilangan dan kesatuan tatasusunan dengan cekap menggunakan kelas koleksi PHP
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.
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
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]
计算并集
并集是指出现在任意一个数组中的元素。可以使用 union()
$union = \PhpCollection\Set::fromArray($array1)->union(\PhpCollection\Set::fromArray($array2))->toArray(); print_r($union); // [1, 2, 3, 4, 5, 6, 7]
Kira kesatuan
Kesatuan merujuk kepada elemen yang muncul dalam mana-mana tatasusunan. Anda boleh menggunakan kaedahunion()
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);🎜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!