php怎样获取变量所占内存?
Admin 2021-05-07 群英技术资讯 1080 次浏览
很多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
大概了解10000个元素的整数数组需要占用 388k 内存 ,从这个结果来看似乎一个数组元素大约占用了39个字节左右。
内容补充:
php获取变量所占内存大小的方法
$start_memory = memory_get_usage(); $foo = "Some variable"; echo memory_get_usage() - $start_memory;
这个可以获取所有变量类型的大小,strlen($foo) 这个可以获取当前字符串的字节大小 除以8就是位大小。
对php获取变量所占内存的介绍就到这,希望对大家学习有一定的帮助,更多php获取变量所占内存内容大家可以继续关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php页面静态化有什么作用?怎样实现?很多新手学习PHP时,不知道为什么要静态化页面,对此,这篇文章就给大家介绍一下php页面静态化以及实现,有需要的朋友可以参考一下。
php中array_fill函数:1、用于使用给定索引,从给定索引中填充数组中的n个元素;2、语法array_fill(index,number,value);3、参数index、number和value;4、返回值,返回填充的数组。
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ]);该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。返回值和前三个参数都可以为字符串或数组二者其一。第四个参数指定一个变量名为替换次数。
php中页面跳转的方法:1、在php脚本中添加代码header("location:url地址")即可;2、如果要延迟跳转,比如登陆成功后会有几秒钟等待时间,代码为header("Refresh:秒数;url=地址")。
本篇文章给大家介绍一下PHP7的生命周期。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008