Heim > Backend-Entwicklung > PHP-Tutorial > Wie können wir zwei flache Arrays effizient abwechselnd zusammenführen?

Wie können wir zwei flache Arrays effizient abwechselnd zusammenführen?

Barbara Streisand
Freigeben: 2024-12-19 16:47:16
Original
172 Leute haben es durchsucht

How Can We Efficiently Merge Two Flat Arrays Alternately?

Abwechselndes Zusammenführen flacher Arrays

Bei zwei gleich großen flachen Arrays streben wir danach, sie abwechselnd zusammenzuführen und dabei die Reihenfolge der Elemente in jedem beizubehalten Array. Die gewünschte Ausgabe ähnelt:

array(0, 3, 1, 4, 2, 5);
Nach dem Login kopieren

Während ein Brute-Force-Ansatz wie der folgende die Aufgabe erfüllt:

for (var $i = 0; $i < count($a1); $i++) {
    newArray[] = $a1[$i];
    newArray[] = $b1[$i];
}
Nach dem Login kopieren

Effizienz wird entscheidend, wenn dieser Vorgang tausende Male ausgeführt wird.

Eine native Lösung

Die vorgeschlagene native Lösung beinhaltet eine maßgeschneiderte Schleife, die über iteriert Arrays und hängt ihre Elemente abwechselnd an ein neues Array an:

$count = count($a1);
for ($i = 0; $i < $count; $i++) {
    $newArray[] = $a1[$i];
    $newArray[] = $b1[$i];
}
Nach dem Login kopieren

Diese Technik erweist sich als effizienter, insbesondere wenn sie mehrmals wiederholt wird, wie der Benchmark-Test unten zeigt:

$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[] = $b1[$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++)
    {
        $newArray[] = $a1[$i];
        $newArray[] = $a2[$i];
    }
}
echo  round(microtime(TRUE) - $start, 2); # 0.85
Nach dem Login kopieren

Daher , die Vorabberechnung der Array-Größe führt zu einer Leistungssteigerung von ca. 25 % und ist somit die optimale Lösung für Großbetriebe.

Das obige ist der detaillierte Inhalt vonWie können wir zwei flache Arrays effizient abwechselnd zusammenführen?. 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