gpt4 book ai didi

php - 在 PHP 中获取对象的内存大小?

转载 作者:IT王子 更新时间:2023-10-29 01:13:59 26 4
gpt4 key购买 nike

有一种方法可以获取 PHP 正在使用的总内存(memory_get_usage()),但是如何获取单个对象在内存中的大小?

我显然不是在谈论 count(),因为我想要一个可能很复杂的数据结构中的字节数。

最佳答案

您可以在分配类之前和之后调用 memory_get_usage(),如 this example from IBM 所示。 .您甚至可以创建一个包装器来执行此操作,可能将结果存储在复杂类本身的成员变量中。

编辑:

要阐明有关存储分配的内存大小的部分,您可以执行以下操作:

class MyBigClass
{
var $allocatedSize;
var $allMyOtherStuff;
}

function AllocateMyBigClass()
{
$before = memory_get_usage();
$ret = new MyBigClass;
$after = memory_get_usage();
$ret->allocatedSize = ($after - $before);

return $ret;
}

在未来的任何时候,您都可以检查allocatedSize 以查看该对象在分配时有多大。但是,如果您在分配后添加它,则allocatedSize 将不再准确。

关于php - 在 PHP 中获取对象的内存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351855/

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