Heim > php教程 > PHP源码 > Hauptteil

PHP erhält schnell zufällige kleine Arrays in großen Arrays

大家讲道理
Freigeben: 2016-11-11 09:45:29
Original
1319 Leute haben es durchsucht

Es gibt eine Funktion zum Erraten, was Benutzern gefällt. Benutzer können darauf klicken, um eine Gruppe zu ändern und den empfohlenen Inhalt zu aktualisieren.

Fragen Sie zuerst die Datenbank ab, um die ersten 1000 Daten zu erhalten, und entfernen Sie dann zufällig 4 Daten.

Nachdem ich das Programm fertig geschrieben hatte, stellte ich fest, dass es sehr langsam lief. Jedes Mal, wenn ich es aktualisierte, musste ich lange warten, bis es herauskam.

Der Code lautet wie folgt:

$arr = range(1, 100000);
$start = time();
for($i = 0; $i < 100; $i ++){
    $key = mt_rand(0, 99999 - $i);
    $result[] = $arr[$key];
    unset($arr[$key]);
    sort($arr);
}
$end = time();
echo $end - $start;
Nach dem Login kopieren

Die obige Schreibmethode muss nach der Verwendung von unset sortiert werden.

Unset löscht nur den Schlüsselwert, der Schlüssel bleibt jedoch erhalten.

Das verbesserte Schreiben ist wie folgt:

$arr = range(1, 100000);
$start = time();
for($i = 0; $i < 100; $i ++){
    $key = mt_rand(0, 99999 - $i); 
    $result[] = array_splice($arr, $key, 1);
}
$end = time();
echo $end - $start;
Nach dem Login kopieren

Die Effizienz wurde um das 3-4-fache erhöht.

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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage