Flache Arrays mit alternierenden Werten optimal zusammenführen
In Situationen, in denen die Leistung von entscheidender Bedeutung ist, kann es erforderlich sein, zwei flache Arrays gleicher Werte zusammenzuführen Größe, abwechselnd ihre Werte. Eine einfache Schleife, die über die Arrays iteriert, kann dies zwar erreichen, lässt aber Raum für potenzielle Leistungsoptimierung.
Native Lösung
Eine Möglichkeit, die Arrays effizient zusammenzuführen, verwendet a vorberechnete Anzahl. Hier ist der verbesserte PHP-Code:
$count = count($a1); for ($i = 0; $i < $count; $i++) { $newArray[] = $a1[$i]; $newArray[] = $a2[$i]; }
Benchmark-Vergleich
Um den Leistungsunterschied zu demonstrieren, haben wir Benchmarks mit dem ursprünglichen und aktualisierten Code durchgeführt:
$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 $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++) // count() inside loop { $newArray[] = $a1[$i]; $newArray[] = $a2[$i]; } } echo round(microtime(TRUE) - $start, 2); # 0.85
Die Ergebnisse zeigen, dass die Vorberechnung der Array-Größe mit count() eine spürbare Geschwindigkeitsverbesserung bietet. Durch die Vermeidung wiederholter Zählungen arbeitet der optimierte Code deutlich schneller.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei flache Arrays mit alternierenden Werten in PHP optimal zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!