php中变量的大小(KB)


size (in KB) of variable in php

是否可以计算/估计变量(字符串,数组,但主要是数组)的大小(以KB为单位)。实际情况是,我们在memcache中存储了一些数据,我们想知道这些数据在memcache中占用了多少内存空间。

我相信PHP的memcache实现在memcached中存储时会使用序列化。您可以简单地serialize输出并检查它的大小:

<?php
$data = array('foo' => 'bar');
$serialized_data = serialize($data);
$size = strlen($serialized_data);
# `strlen` returns number of chars in a string. Each char is 1 byte.
# So to get size in bits, multiply `strlen` results by 8. Divide by
# 1024 for KB or KiB. Divide by 1000 for kB.
print($size * 8 / 1000);
?>