首页后端开发PHPPHP中怎么查询变量的内存大小

PHP中怎么查询变量的内存大小

时间2024-03-24 16:24:03发布访客分类PHP浏览1038
导读:这篇文章主要给大家介绍“PHP中怎么查询变量的内存大小”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“PHP中怎么查询变量的内存大小”文章能对大家有所帮助。...
这篇文章主要给大家介绍“PHP中怎么查询变量的内存大小”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“PHP中怎么查询变量的内存大小”文章能对大家有所帮助。


  

事例:

php版本为7.2

?php
echo memory_get_usage() , 'br>
    ';
    
$start = memory_get_usage();
    
$a = Array();
    
for ($i=0;
     $i1000;
 $i++) {
    
$a[$i] = $i + $i;

}
    
$mid = memory_get_usage();
    
echo memory_get_usage() , 'br>
    ';
    
for ($i=1000;
     $i2000;
 $i++) {
    
$a[$i] = $i + $i;

}
    
$end = memory_get_usage();
    
echo memory_get_usage() , 'br>
    ';
    
echo 'argv:', ($mid - $start)/1000 ,'bytes' , 'br>
    ';
    
echo 'argv:',($end - $mid)/1000 ,'bytes' , 'br>
    ';
    
echo 'Memory:', ($mid - $start)/1024 ,'k' , 'br>
    ';
    
echo 'Memory:',($end - $mid)/1024 ,'k' , 'br>
    ';
    
输出是:
389336
418056
442632
argv:28.72bytes
argv:24.576bytes
Memory:28.046875k
Memory:24k

返回当前分配给你的 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 'argv:', ($mid - $start )/10000,'byte' , 'br>
    ';
    
echo 'Memory:', ($mid - $start)/1024 ,'k' , 'br>
    ';
    
$b = array_fill(0, 10000, 1);
    
$end = memory_get_usage();
     //10k elements array;
    
echo 'argv:', ($end - $mid)/10000 ,'byte' , 'br>
    ';
    
echo 'Memory:',($end - $mid)/1024 ,'k' , 'br>
    ';
    
得到:
argv:54.5792byte
argv:54.5784byte

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

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

内容补充

php获取变量所占内存大小的方法

$start_memory = memory_get_usage();
    
$foo = "Some variable";
    
echo memory_get_usage() - $start_memory;
    

这个可以获取所有变量类型的大小

strlen($foo) 这个可以获取当前字符串的字节大小 除以8就是位大小


以上就是关于“PHP中怎么查询变量的内存大小”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP中怎么查询变量的内存大小
本文地址: https://pptw.com/jishu/652177.html
Kubernetes上部署MySQL数据库怎样操作? MYSQL的COLLATE有什么用?各种COLLATE的区别在哪?

游客 回复需填写必要信息