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

Kira persilangan dan kesatuan tatasusunan dengan cekap menggunakan kelas koleksi PHP

WBOY
WBOYasal
2024-05-01 21:06:02394semak imbas

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

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 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);

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

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