Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in PHP-Code-Optimierungsmethoden (Bilder und Text)

Einführung in PHP-Code-Optimierungsmethoden (Bilder und Text)

不言
不言nach vorne
2019-04-01 09:25:153410Durchsuche

Der Inhalt dieses Artikels ist eine Einführung in PHP-Code-Optimierungsmethoden (Bilder und Texte). Ich hoffe, dass er für Sie hilfreich ist.

Normalerweise gibt es mehrere Möglichkeiten, Daten in Arrays in PHP einzufügen:

Direkt beim Definieren zuweisen

$arr = array(‘apple’, ’banana’);

Array-Variablenoperation verwenden

$arr = array();
$arr[] = ‘apple’;
$arr[] = ‘banana’;

Array_push( verwenden) ) Einfügen

rrree

In den meisten Fällen erhalten wir zunächst Daten aus der Datenbank und konvertieren sie dann in Array-Form. Im ersten Fall ist die direkte Zuweisung beim Definieren des Arrays häufig nur für die Datenmenge geeignet ist sehr klein und eine bekannte Situation, daher gibt es keine Codeoptimierung. Wir sprechen hauptsächlich über den zweiten und dritten Typ.

Bezüglich der Verwendung von array_push werde ich es nicht im Detail vorstellen. Bitte lesen Sie die offizielle Dokumentation selbst (https://secure.php.net/manual/en/function.array-push.php).

Leistungsvergleich

Wir haben PHP 7.2 zum Testen verwendet und keine Konfigurationsoptimierung vorgenommen. Testmethode: Definieren Sie ein Array und fügen Sie 100.000 Datensätze mit der zweiten bzw. dritten Methode ein. Der Code lautet ungefähr wie folgt:

Einführung in PHP-Code-Optimierungsmethoden (Bilder und Text)

Einführung in PHP-Code-Optimierungsmethoden (Bilder und Text)

The Die Konvertierungsfunktion wird verwendet, um die Speichernutzung zu überprüfen:

Einführung in PHP-Code-Optimierungsmethoden (Bilder und Text)

Einführung in PHP-Code-Optimierungsmethoden (Bilder und Text)

Durch mehrmaliges Ausführen des obigen Codes erhalten Sie Sie können feststellen, dass die direkte Verwendung des Arrays für die Variablenzuweisung etwa 0,0045 und die Verwendung von array_push etwa 0,006 beträgt. Der Speicherverbrauch ist gleich, da beide über 100.000 Datensätze verfügen.

Beim Vergleich der beiden Methoden habe ich festgestellt, dass die zweite Methode tatsächlich schneller ist als der Aufruf von array_push, da der Funktionsaufruf in jeder Schleife einige Zeit in Anspruch nimmt. Ich glaube jedoch nicht, dass dies der Fall ist Die zweite Methode ist besser als die dritte Methode. Wie viel schneller diese Methode ist, ist völlig vernachlässigbar.

In der Tat unterscheidet sich diese Art der Optimierung in den meisten Anwendungen nicht von keiner Optimierung, aber wenn die Anwendung einen Engpass erreicht, kann jede unauffällige Optimierung die Leistung und unsere Struktur des Arrays im Test erheblich verbessern In realen Projekten ist der Datentyp nicht so einfach. Es kann sich um ein verschachteltes Array handeln, und die Größe des Arrays kann mehr als 100.000 betragen.

Werfen wir einen Blick auf den Unterschied zwischen den beiden. Array_push() ist ein Funktionsaufruf, das heißt, aus Sicht der Codegröße sind die beiden gleich Aus Sicht der Array-Struktur verwenden wir während des Tests keine Indizes und alle beginnen standardmäßig bei 0. Wenn Sie key => value zum Einfügen von Daten verwenden möchten, ist array_push() nicht einfach zu handhaben In diesem Fall ist es sehr praktisch, Methode 2 zu verwenden: $array1[$key ] => $x.

Ich habe bereits gesagt, dass array_push() nicht gut ist, aber manchmal ist array_push immer noch sehr nützlich. Wenn wir beispielsweise mehrere Elemente gleichzeitig einfügen möchten, können wir es wie folgt verwenden:

$arr = array(‘apple’);
array_push($arr, ‘banana’, ‘orange’);

Wie aus dem obigen Vergleich ersichtlich ist, gibt es in PHP viele Methoden zur Array-Interpolation, obwohl jede Methode vorhanden ist Ebenso ist es wichtig zu verstehen, wann jede Methode noch verwendet werden muss.

[Empfohlener Kurs: PHP-Video-Tutorial]

Das obige ist der detaillierte Inhalt vonEinführung in PHP-Code-Optimierungsmethoden (Bilder und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen