4.24 Alle Elementkombinationen eines Arrays finden

Problem

Sie möchten alle Mengenkombinationen herausfinden, die einige oder alle Elemente eines Arrays enthalten; dies wird auch als Potenzmenge bezeichnet.

Lösung

Verwenden Sie die in Listing 4.5 dargestellte Funktion pc_array_power_set().

function pc_array_power_set($array) {
    // Initialisieren durch Hinzufügen einer leeren Menge
    $results = array(array());

    foreach ($array as $element)
        foreach ($results as $combination)
            array_push($results, array_merge(array($element), $combination));

    return $results;
}

Listing 4.5 pc_array_power_set()

Diese Funktion gibt ein Array aus Arrays zurück, das jede Kombination von Elementen einschließlich der leeren Menge enthält. Ein Beispiel:

$menge = array('A', 'B', 'C'); ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.