Rumah > pembangunan bahagian belakang > masalah PHP > php中变量占内存吗

php中变量占内存吗

(*-*)浩
Lepaskan: 2023-02-23 17:36:01
asal
2538 orang telah melayarinya

php中变量占内存吗

在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的

当前空间的名称就是变量名,当前空间的数据(八种数据类型)就称为变量值

事例:(推荐学习:PHP视频教程

php版本为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
Salin selepas log masuk

返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte)。

大概了解1000个元素的整数数组需要占用 28k 内存,平均每个元素占用 28 个字节

memory_get_usage() 返回的结果并不是全是被数组占用了,还要包括一些 PHP

运行本身分配的一些结构,可能用内置函数生成的数组更接近真实的空间:

<?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
Salin selepas log masuk

大概了解10000个元素的整数数组需要占用 388k 内存 ,从这个结果来看似乎一个数组元素大约占用了39个字节左右。

Atas ialah kandungan terperinci php中变量占内存吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan