如何在PHP中获取变量的内容大小

php
2022-08-30 15:04:49

如果我在PHP中有以下变量:

$Message='Hello, this is just test message';

如何获取其内容的大小(以字节为单位)?例如,要打印如下内容:

<p>Message size is 20KB</p>

答案 1

strlen 返回字符串中的字节数,而不是字符长度。在此处查看 PHP 手册。

仔细观察:

注意:

strlen() 返回字节数,而不是字符串中的字符数。

如果将结果取 8 的倍数,则可以得到位。

这是一个可以轻松为您进行数学运算的函数。

function strbits($string){
    return (strlen($string)*8);
}

请注意,如果使用 ,则将返回错误的值。内存获取使用量是 PHP 脚本分配的内存量。这意味着,在其解析器中,它正在为字符串和字符串的值分配内存。因此,在设置 var 之前和之后,此值将高于预期。memory_get_usage()

例如,字符串: 产生以下值: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";

答案 2
$start_memory = memory_get_usage();
$foo = "Some variable";
echo memory_get_usage() - $start_memory;

如果您正在使用任何类型的 var,这很好。


推荐