作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如果我在 PHP 中有以下变量:
$Message='Hello, this is just test message';
如何获取其内容的大小(以字节为单位)?例如,要打印如下内容:
<p>Message size is 20KB</p>
最佳答案
strlen
返回字符串中的字节数,而不是字符长度。查看 PHP 手册 here .
仔细观察:
Note:
strlen() returns the number of bytes rather than the number of characters in a string.
如果将结果乘以 8,就可以得到位。
这是一个可以轻松为您计算的函数。
function strbits($string){
return (strlen($string)*8);
}
注意,如果您使用memory_get_usage()
,您将返回错误的值。 Memory get usage 是 PHP 脚本分配的内存量。这意味着,在其解析器中,它正在为字符串和字符串的值分配内存。因此,设置 var 之前和之后的 this 值将高于预期。
例如,字符串:Hello, this is just test message
,产生以下值:
Memory (non-real): 344 bytes
Strlen: 32 Bytes
Strlen * 8bits: 256 bits
代码如下:
<?php
$mem1 = memory_get_usage();
$a = 'Hello, this is just test message';
echo "Memory (non-real): ". (memory_get_usage() - $mem1)."\n";
echo "Strlen: ". strlen($a)."\n";
echo "Strlen * 8bits: ". (strlen($a) * 8)."\n";
关于php - 如何在PHP中获取变量内容的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366412/
我是一名优秀的程序员,十分优秀!