在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的
当前空间的名称就是变量名,当前空间的数据(八种数据类型)就称为变量值
事例:(推荐学习:PHP视频教程)
php版本为7.2
立即学习“PHP免费学习笔记(深入)”;
<?php echo memory_get_usage() , '
';$start = memory_get_usage();$a = Array();for ($i=0; $i';for ($i=1000; $i';echo 'argv:', ($mid - $start)/1000 ,'bytes' , '
';echo 'argv:',($end - $mid)/1000 ,'bytes' , '
';echo 'Memory:', ($mid - $start)/1024 ,'k' , '
';echo 'Memory:',($end - $mid)/1024 ,'k' , '
';输出是: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' , '
';echo 'Memory:', ($mid - $start)/1024 ,'k' , '
';$b = array_fill(0, 10000, 1);$end = memory_get_usage(); //10k elements array;echo 'argv:', ($end - $mid)/10000 ,'byte' , '
';echo 'Memory:',($end - $mid)/1024 ,'k' , '
';得到:argv:54.5792byteargv:54.5784byteargv:39.736byteMemory:388.046875kargv:39.736byteMemory:388.046875k
登录后复制
大概了解10000个元素的整数数组需要占用 388k 内存 ,从这个结果来看似乎一个数组元素大约占用了39个字节左右。
以上就是php中变量占内存吗的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2157627.html