Heim > Backend-Entwicklung > PHP-Tutorial > Wie berechnet man das kartesische Produkt mehrerer Arrays in PHP?

Wie berechnet man das kartesische Produkt mehrerer Arrays in PHP?

Barbara Streisand
Freigeben: 2024-11-14 12:15:02
Original
909 Leute haben es durchsucht

How to Calculate the Cartesian Product of Multiple Arrays in PHP?

Kartesisches Produkt mehrerer Arrays: Eine umfassende Lösung

Beim Umgang mit mehreren Arrays kann es erforderlich sein, eine Tabelle mit allen möglichen Kombinationen von Elementen daraus zu erstellen Arrays unter Vermeidung von Wiederholungen. Diese mathematische Operation ist als kartesisches Produkt bekannt.

Um diese Herausforderung in PHP zu bewältigen, sollten Sie die Verwendung der folgenden Funktion in Betracht ziehen:

function array_cartesian() {
    $_ = func_get_args();
    if(count($_) == 0)
        return array(array());
    $a = array_shift($_);
    $c = call_user_func_array(__FUNCTION__, $_);
    $r = array();
    foreach($a as $v)
        foreach($c as $p)
            $r[] = array_merge(array($v), $p);
    return $r;
}

$cross = array_cartesian(
    array('apples', 'pears',  'oranges'),
    array('steve', 'bob')
);

print_r($cross);
Nach dem Login kopieren

Diese Funktion akzeptiert Argumente variabler Länge, die jeweils ein Array darstellen . Es berechnet das kartesische Produkt rekursiv, indem es ein Element aus dem ersten Array auswählt und es mit allen möglichen kartesischen Produkten der verbleibenden Arrays kombiniert.

Das Ergebnis ist ein verschachteltes Array, das jede eindeutige Kombination von Elementen aus den Eingabearrays enthält. Im gegebenen Beispiel ergibt das kartesische Produkt zweier Arrays:

Array 0            Array 1
apples             steve
apples             bob
pears              steve
pears              bob
Nach dem Login kopieren

Diese Lösung ist nicht nur für Arrays mit zwei Dimensionen effektiv, sondern kann auch auf eine beliebige Anzahl von Arrays erweitert werden. Es bietet eine prägnante und elegante Möglichkeit, das kartesische Produktproblem in PHP zu lösen.

Das obige ist der detaillierte Inhalt vonWie berechnet man das kartesische Produkt mehrerer Arrays in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage