php中变量占内存吗
内容导读
收集整理的这篇技术教程文章主要介绍了php中变量占内存吗,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1781字,纯文字阅读大概需要3分钟。
内容图文
在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的
当前空间的名称就是变量名,当前空间的数据(八种数据类型)就称为变量值
事例:(推荐学习:PHP视频教程)
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中变量占内存吗的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php中变量占内存吗全部内容,希望文章能够帮你解决php中变量占内存吗所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。