加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php如何获取变量所占内存?

发布时间:2021-12-23 12:48:15 所属栏目:PHP教程 来源:互联网
导读:很多PHP新手可能还不太了解要如何查看一个变量占用内存,对此下面php获取变量所占内存大小的方法,分享给大家,有需要的朋友可以参考一下。 php版本为7.2 ?php echo memory_get_usage() , br; $start = memory_get_usage(); $a = Array(); for ($i=0; $i1000;
 很多PHP新手可能还不太了解要如何查看一个变量占用内存,对此下面php获取变量所占内存大小的方法,分享给大家,有需要的朋友可以参考一下。
 
        php版本为7.2
 
<?php
echo memory_get_usage() , '<br>';
$start = memory_get_usage();
$a = Array();
for ($i=0; $i<1000; $i++) {
$a[$i] = $i + $i;
}
$mid = memory_get_usage();
echo memory_get_usage() , '<br>';
for ($i=1000; $i<2000; $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



(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读