Wie kann ich ein verschachteltes Array in PHP reduzieren?

Barbara Streisand
Freigeben: 2024-11-23 08:31:18
Original
473 Leute haben es durchsucht

How Can I Flatten a Nested Array in PHP?

Verschachteltes Array in eine einzelne Dimension umwandeln

In diesem Programmierszenario stoßen Sie auf ein Array, das aus Einzelelement-Subarrays besteht. Die Aufgabe besteht darin, diese mehrdimensionale Struktur in ein eindimensionales Array umzuwandeln.

PHPs nativer Ansatz

PHP stellt eine praktische Funktion namens array_map zur Verfügung, die diese Konvertierung durchführen kann effizient. Hier ist ein Beispiel:

$array = [[88868], [88867], [88869], [88870]];
$oneDimensionalArray = array_map('current', $array);

// Output: [88868, 88867, 88869, 88870]
Nach dem Login kopieren

Die Funktion array_map verwendet eine Callback-Funktion als erstes Argument und ein Array als zweites Argument. In diesem Fall ruft die Callback-Funktion current das aktuelle Element aus jedem Subarray ab und reduziert so effektiv das Array.

Generalisierung für Subarrays mit mehreren Elementen

Wenn die Subarrays mehrere enthalten Elemente würde der obige Ansatz nur das erste Element jedes Subarrays zurückgeben. Um dieses Szenario anzugehen, können Sie die Funktion call_user_func_array verwenden:

$oneDimensionalArray = call_user_func_array('array_merge', $array);

// Output: [88868, 88867, 88869, 88870]
Nach dem Login kopieren

Die Funktion call_user_func_array ruft eine Rückruffunktion mit einem Array von Argumenten auf, in diesem Fall dem Array von Unterarrays. Die Funktion array_merge kombiniert alle Elemente in einem einzigen Array, was zur gewünschten Konvertierung führt.

Das obige ist der detaillierte Inhalt vonWie kann ich ein verschachteltes Array in PHP 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