Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pelaksanaan pengiraan malas persilangan tatasusunan dan kesatuan dalam PHP

Pelaksanaan pengiraan malas persilangan tatasusunan dan kesatuan dalam PHP

WBOY
WBOYasal
2024-05-01 08:54:021000semak imbas

PHP Pengiraan malas persilangan tatasusunan dan kesatuan Dalam PHP, anda boleh menggunakan penjana untuk melaksanakan pengiraan malas persimpangan tatasusunan dan kesatuan untuk menangguhkan pengiraan keputusan sehingga diperlukan: Persimpangan: Gunakan penjana array_intersect_lazy(), hanya jika elemen tatasusunan sama Hanya kemudian lelaran dan keluaran. Kesatuan: Menggunakan penjana array_union_lazy(), ulangi dua tatasusunan dan keluarkannya kepada hasilnya, menapis elemen pendua.

Pelaksanaan pengiraan malas persilangan tatasusunan dan kesatuan dalam PHP

Pelaksanaan pengiraan malas persilangan tatasusunan dan penyatuan dalam PHP

Dalam PHP, pemprosesan persilangan tatasusunan dan penyatuan ialah operasi biasa. Biasanya, kami akan menggunakan fungsi array_intersect()array_merge() untuk melaksanakan operasi ini. Walau bagaimanapun, ini menyebabkan keputusan dikira serta-merta, yang kadangkala boleh menyebabkan masalah prestasi, terutamanya dengan tatasusunan yang besar.

Malas mengira boleh menyelesaikan masalah ini, ia membolehkan kita menangguhkan pengiraan sehingga hasilnya benar-benar diperlukan. Menggunakan penjana, kita boleh melaksanakan persilangan dan kesatuan tatasusunan yang dikira secara malas dengan mudah.

Pelaksanaan

Persimpangan

function array_intersect_lazy($array1, $array2) {
    foreach ($array1 as $key => $value) {
        if (isset($array2[$key]) && $value === $array2[$key]) {
            yield $value;
        }
    }
}

Kesatuan

function array_union_lazy($array1, $array2) {
    foreach ($array1 as $key => $value) {
        yield $value;
    }

    foreach ($array2 as $key => $value) {
        if (!isset($array1[$key])) {
            yield $value;
        }
    }
}

Kes praktikal

rreee secara terus dan benarkan kami untuk melihat keputusan secara terus

ulasi untuk diselesaikan. Ini boleh meningkatkan prestasi dengan ketara pada tatasusunan besar.

Atas ialah kandungan terperinci Pelaksanaan pengiraan malas persilangan tatasusunan dan kesatuan dalam 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