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 の配列に保存されているデータの量を測定する方法はありますか (理想的にはワンライナーで、本番環境で実行時にこれを実行する必要があるため、パフォーマンスにあまり影響を与えません)。