php查看一个变量的占用内存的实例代码
事例:
php版本为7.2
'; $start=memory_get_usage(); $a=Array(); for($i=0;$i<1000;$i++){ $a[$i]=$i+$i; } $mid=memory_get_usage(); echomemory_get_usage(),'
'; for($i=1000;$i<2000;$i++){ $a[$i]=$i+$i; } $end=memory_get_usage(); echomemory_get_usage(),'
'; echo'argv:',($mid-$start)/1000,'bytes','
'; echo'argv:',($end-$mid)/1000,'bytes','
'; echo'Memory:',($mid-$start)/1024,'k','
'; echo'Memory:',($end-$mid)/1024,'k','
'; 输出是: 389336 418056 442632 argv:28.72bytes argv:24.576bytes Memory:28.046875k Memory:24k
返回当前分配给你的PHP脚本的内存量,单位是字节(byte)。
大概了解1000个元素的整数数组需要占用28k内存,平均每个元素占用28个字节
memory_get_usage()返回的结果并不是全是被数组占用了,还要包括一些PHP
运行本身分配的一些结构,可能用内置函数生成的数组更接近真实的空间:
'; echo'Memory:',($mid-$start)/1024,'k','
'; $b=array_fill(0,10000,1); $end=memory_get_usage();//10kelementsarray; echo'argv:',($end-$mid)/10000,'byte','
'; echo'Memory:',($end-$mid)/1024,'k','
'; 得到: 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="Somevariable"; echomemory_get_usage()-$start_memory;
这个可以获取所有变量类型的大小
strlen($foo)这个可以获取当前字符串的字节大小除以8就是位大小
到此这篇关于php查看一个变量的占用内存的实例代码的文章就介绍到这了,更多相关php怎么查看一个变量的占用内存内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。