Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menjana Semua Subset Unik Array dengan Cekap dalam PHP?

Bagaimanakah Saya Boleh Menjana Semua Subset Unik Array dengan Cekap dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-22 08:46:10232semak imbas

How Can I Efficiently Generate All Unique Subsets of an Array in PHP?

Mencari Subset Tatasusunan dalam PHP

Tugas mencari subset unik tatasusunan boleh menjadi sangat mencabar apabila berurusan dengan bilangan yang besar daripada unsur. Kami berusaha untuk mencipta set subset yang komprehensif, memastikan tiada pengulangan berlaku.

Sebagai contoh, memandangkan tatasusunan atribut {A, B, C, D}, kami ingin menjana semua subset yang mungkin, termasuk elemen individu dan gabungannya: {A, B, C, D, AB, AC, AD, BC, BD, CD, ABC, ABD, BCD, ABCD}.

Menggunakan Array Merge untuk Penjanaan Set Kuasa

PHP menyediakan penyelesaian padat untuk penjanaan set kuasa menggunakan fungsi array_merge.

function powerSet(array $array) : array {
    $results = [[]];

    foreach ($array as $element) {
        foreach ($results as $combination) {
            $results[] = [...$combination, $element];
        }
    }

    return $results;
}

// Example usage:
$ATTRIBUTES = ['A', 'B', 'C', 'D'];
$SUBSETS = powerSet($ATTRIBUTES);

Tatasusunan $SUBSETS yang terhasil akan mengandungi semua subset tidak berulang bagi tatasusunan asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Semua Subset Unik Array dengan Cekap 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