Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich ein mehrdimensionales numerisches Array in PHP effizient reduzieren?

Wie kann ich ein mehrdimensionales numerisches Array in PHP effizient reduzieren?

Susan Sarandon
Freigeben: 2024-12-12 21:53:14
Original
276 Leute haben es durchsucht

How Can I Efficiently Flatten a Multidimensional Numeric-Keyed Array in PHP?

Mehrdimensionale Arrays in lineare Strukturen vereinfachen

Das Umwandeln mehrdimensionaler Arrays in ihre eindimensionalen Gegenstücke kann oft eine entmutigende Aufgabe sein, insbesondere wenn es darum geht Arrays, die ausschließlich numerische Schlüssel enthalten. Es gibt jedoch eine einfache, aber elegante Lösung, um diese Strukturen zu verflachen, indem man die Array-Funktionen von PHP nutzt.

Antwort erklärt

Die Lösung verwendet die Funktion array_reduce() in Verbindung mit array_merge(). array_reduce() durchläuft jedes Element des Arrays und wendet eine benutzerdefinierte Funktion an, um einen endgültigen reduzierten Wert zu akkumulieren. In diesem Fall übergeben wir die Funktion array_merge(), die zwei Arrays zu einem einzigen Array kombiniert.

Durch die Angabe eines leeren Arrays als Anfangswert der Reduzierungsoperation stellen wir sicher, dass das Endergebnis ein ist Array, das alle Elemente aus dem mehrdimensionalen Array enthält. Jede Iteration verkettet das aktuelle Subarray mit dem Akkumulator und reduziert so effektiv die Eingabe.

Beispielimplementierung

Betrachten Sie das in der Frage bereitgestellte mehrdimensionale Array:

$array = [
    [0 => 'foo', 1 => 'bar', 2 => 'hello'],
    [0 => 'world', 1 => 'love'],
    [0 => 'stack', 1 => 'overflow', 2 => 'yep', 3 => 'man'],
];
Nach dem Login kopieren

Um dieses Array zu reduzieren, können wir einfach Folgendes verwenden Code:

$result = array_reduce($array, 'array_merge', []);
Nach dem Login kopieren

Dies würde das gewünschte eindimensionale Array erzeugen:

$result = [
    'foo', 'bar', 'hello', 'world', 'love', 'stack', 'overflow', 'yep', 'man'
];
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich ein mehrdimensionales numerisches Array in PHP effizient reduzieren?. 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