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]
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]
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!