gpt4 book ai didi

PHP - memory_get_usage() 的奇怪行为

转载 作者:可可西里 更新时间:2023-10-31 23:39:04 26 4
gpt4 key购买 nike

我正在尝试获取 PHP 中变量的实际大小(内存使用量)。我知道没有直接的方法来实现这一点,但有一个使用 memory_get_usage() 的简单“hack”。

<?php

function varSize()
{
$s = memory_get_usage();
$x = true;
echo memory_get_usage() - $s;
}

varSize();

echo '<br>';

$s = memory_get_usage();
$x = true;
echo memory_get_usage() - $s;

echo '<br>';

$s = memory_get_usage();
$x = unserialize(serialize(true));
echo memory_get_usage() - $s;

?>

此代码分别返回 64、160、0。到底为什么?前两个变体是彼此的绝对复制粘贴!为什么会发生这种情况以及如何获得真正的变量大小?

最佳答案

每次使用memory_get_usage(true),你都会得到你的答案。

如果未传递 true,则返回 emalloc 使用的内存。您可以在 Fucntion's Definition 上阅读更多相关信息

关于PHP - memory_get_usage() 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32223491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com