我正在寻找一种方法来测量存储在PHP
数组中的数据量。我不是在谈论数组中的元素数量(您可以用 来count($array, COUNT_RECURSIVE)
计算),而是所有键及其对应值的累积数据量。例如:
array('abc'=>123); // size = 6
array('a'=>1,'b'=>2); // size = 4
因为我感兴趣的是数量级而不是确切的数量(我想比较处理内存和时间使用与数组的大小),所以我考虑使用以下技巧:
strlen(print_r($array,true));
然而,来自的开print_r
销量取决于数组的结构,这并不能给我一致的结果:
echo strlen(print_r(array('abc'=>123),true)); // 27
echo strlen(print_r(array('a'=>1,'b'=>2),true)); // 35
有没有办法(理想情况下在单行中并且不会影响太多性能,因为我需要在生产运行时执行此操作)来测量 PHP 中存储在数组中的数据量?