Heim >Backend-Entwicklung >PHP-Problem >Belegen Variablen Speicher in PHP?

Belegen Variablen Speicher in PHP?

(*-*)浩
(*-*)浩Original
2019-09-06 09:42:482532Durchsuche

Belegen Variablen Speicher in PHP?

Eine Möglichkeit, Daten in PHP zu speichern, ist die Menge, die ich ändern kann. Diese Methode besteht darin, einen Platz im Speicher zu öffnen, der Daten speichern kann 🎜>, geben Sie diesem Raum einen Namen, und der Raum kann zu diesem Zeitpunkt als Variable bezeichnet werden. Dieser Wert kann sich während des Betriebs ändern

Der Name des aktuellen Raums ist der Variablenname, und die Daten (acht Datentypen) des aktuellen Raums werden als Variablenwert bezeichnet

Beispiel: (Empfohlenes Lernen: PHP-Video-Tutorial)

PHP-Version ist 7.2

<?php
echo memory_get_usage() , &#39;<br>&#39;;
$start = memory_get_usage();
$a = Array();
for ($i=0; $i<1000; $i++) {
$a[$i] = $i + $i;
}
$mid = memory_get_usage();
echo memory_get_usage() , &#39;<br>&#39;;
for ($i=1000; $i<2000; $i++) {
$a[$i] = $i + $i;
}
$end = memory_get_usage();
echo memory_get_usage() , &#39;<br>&#39;;
echo &#39;argv:&#39;, ($mid - $start)/1000 ,&#39;bytes&#39; , &#39;<br>&#39;;
echo &#39;argv:&#39;,($end - $mid)/1000 ,&#39;bytes&#39; , &#39;<br>&#39;;
echo &#39;Memory:&#39;, ($mid - $start)/1024 ,&#39;k&#39; , &#39;<br>&#39;;
echo &#39;Memory:&#39;,($end - $mid)/1024 ,&#39;k&#39; , &#39;<br>&#39;;
输出是:
389336
418056
442632
argv:28.72bytes
argv:24.576bytes
Memory:28.046875k
Memory:24k

Zurück zum aktuelle Zuweisung Die Ihrem PHP-Skript zugewiesene Speichermenge in Bytes.

Es wird allgemein angenommen, dass ein ganzzahliges Array mit 1000 Elementen 28 KB Speicher beansprucht und jedes Element durchschnittlich 28 Bytes belegt.

Die von „memory_get_usage()“ zurückgegebenen Ergebnisse sind nicht alle belegt Das Array, aber auch Um einige von PHP zugewiesene Strukturen einzuschließen

selbst, kann das von der integrierten Funktion generierte Array näher am realen Raum liegen:

<?php
$start = memory_get_usage();
$a = array_fill(0, 10000, 1);
$mid = memory_get_usage(); //10k elements array;
echo &#39;argv:&#39;, ($mid - $start )/10000,&#39;byte&#39; , &#39;<br>&#39;;
echo &#39;Memory:&#39;, ($mid - $start)/1024 ,&#39;k&#39; , &#39;<br>&#39;;
$b = array_fill(0, 10000, 1);
$end = memory_get_usage(); //10k elements array;
echo &#39;argv:&#39;, ($end - $mid)/10000 ,&#39;byte&#39; , &#39;<br>&#39;;
echo &#39;Memory:&#39;,($end - $mid)/1024 ,&#39;k&#39; , &#39;<br>&#39;;
得到:
argv:54.5792byte
argv:54.5784byte

argv:39.736byte
Memory:388.046875k
argv:39.736byte
Memory:388.046875k

Es wird grob verstanden, dass ein Ein ganzzahliges Array mit 10.000 Elementen belegt 388 KB Speicher. Aus diesem Ergebnis geht hervor, dass ein Array-Element etwa 39 Bytes belegt.

Das obige ist der detaillierte Inhalt vonBelegen Variablen Speicher in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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