时间:2021-05-26
事例:
php版本为7.2
<?phpecho 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>';输出是:389336418056442632argv:28.72bytesargv:24.576bytesMemory:28.046875kMemory: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.5792byteargv:54.5784byteargv:39.736byteMemory:388.046875kargv:39.736byteMemory: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怎么查看一个变量的占用内存内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php查询内存信息操作。分享给大家供大家参考,具体如下:php查询内存信息,是为了更好的查看内存使用情况,更好的优化代码。查看当前内存使用情况使用
PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!我们先看
今天碰到一个关于php变量内存分配的问题,记录一下。如下这段代码:复制代码代码如下:$a=array('str'=>1,'child'=>2);$b=$a;$b
与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址变量的引用.PHP的引用允许你用两个变量来指向同一个内容复制代码代码如下:$a
本文实例讲述了php多个变量指向同一个引用($b=&$a)用法。分享给大家供大家参考,具体如下:引用是什么?引用就是多个变量指向同一个内存区域地址。如我们经常用