Abwechselndes Zusammenführen flacher indizierter Arrays
Abwechselndes Zusammenführen zweier Arrays, wobei Werte einzeln in das Ergebnis eingefügt werden, anstatt sie zu verketten, ist eine häufige Anforderung bei der Datenverarbeitung und -manipulation. In diesem Fall haben wir zwei flache indizierte Arrays, $a1 und $a2, und wir möchten sie in ein neues Array, $newArray, zusammenführen, sodass die Werte wie folgt verschachtelt sind: [0, 3, 1, 4, 2 , 5].
Obwohl es möglich ist, dies wie vorgeschlagen mit einer manuellen Schleife zu erreichen, gibt es einen effizienteren nativen Ansatz, der Leistungsvorteile bietet. Der folgende Code veranschaulicht den vorberechneten Ansatz:
$count = count($a1); for ($i = 0; $i < $count; $i++) { $newArray[] = $a1[$i]; $newArray[] = $a2[$i]; }
In diesem Code ermitteln wir zunächst die Anzahl der Elemente in $a1 (vorausgesetzt, $a1 und $a2 haben die gleiche Größe). Dann verwenden wir eine Schleife, um die Elemente zu durchlaufen und sie abwechselnd dem $newArray hinzuzufügen.
Leistungsbenchmarking, wie unten gezeigt, bestätigt die Effizienz dieses Ansatzes:
$a1 = array(0, 1, 2); $a2 = array(3, 4, 5); $start = microtime(TRUE); for($t = 0; $t < 100000; $t++){ $newArray = array(); $count = count($a1); for ($i = 0; $i < $count; $i++){ $newArray[] = $a1[$i]; $newArray[] = $a2[$i]; } } echo round(microtime(TRUE) - $start, 2); # 0.6
Im Vergleich Im Vergleich zum Ansatz, bei dem die Array-Größe in jeder Iteration neu berechnet wird, bietet dieser vorberechnete Ansatz eine erhebliche Leistungsverbesserung:
$a1 = array(0, 1, 2); $a2 = array(3, 4, 5); $start = microtime(TRUE); for($t = 0; $t < 100000; $t++){ $newArray = array(); for ($i = 0; $i < count($a1); $i++){ $newArray[] = $a1[$i]; $newArray[] = $a2[$i]; } } echo round(microtime(TRUE) - $start, 2); # 0.85
Beim Benchmarking Bietet eine Momentaufnahme der Leistung. Es ist jedoch wichtig zu beachten, dass die spezifischen Leistungsmerkmale je nach den spezifischen Daten und der Umgebung variieren können. Nichtsdestotrotz bietet dieser vorberechnete Ansatz eine solide Grundlage für die effiziente abwechselnde Zusammenführung flach indizierter Arrays.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei flach indizierte Arrays effizient abwechselnd zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!