Im Allgemeinen beträgt die Speicherauslastung von PHP-Arrays nur 1/10. Das heißt, ein Array mit 100 MB Speicher in der Sprache C erfordert 1 GB in PHP.
Gerade in Systemen, in denen PHP als Backend-Server verwendet wird, tritt häufig das Problem eines übermäßigen Speicherverbrauchs auf.
Da es sich um ein Sprachproblem handelt, sind herkömmliche Lösungen schwer zu lösen. Das Folgende ist eine Lösung durch String. (Empfohlenes Lernen:PHP-Video-Tutorial)
$total = 100000; $double = ""; for ($i = 0; $i < $total; $i++) { $double .= pack("d", $i + 0.1); } for ($i = 0; $i < $total; $i++) { unpack("@" . ($i * 8) . "/d", $double); }
In diesem Beispiel wird ein String verwendet, um ein Array von Doubles zu speichern. Packen Sie es dann aus, wenn Sie es verwenden.
Natürlich wirkt sich dies auf die Leistung aus. Es kommt auf die konkreten Bedürfnisse an.
Zum Beispiel in diesem Fall:
Sie haben 10 Arrays, jedes Array ist 10 MB groß (ca. 1 Million Daten), dann kosten zehn 100 MB Speicher.
Wenn Sie 10 Personen gleichzeitig hinzufügen, wird der Speicher ernsthaft unzureichend sein.
Dann werden die 10 Arrays nicht jedes Mal gleichzeitig verwendet. Sie können sie als Zeichenfolge
speichern und dann bei Verwendung eine bestimmte Zeichenfolge in ein Array entpacken.
Das obige ist der detaillierte Inhalt vonGehen PHP-Arrays nicht durch den Speicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!