memory_get_usage --返回當前分配給你的 PHP 指令碼的記憶體量,單位是位元組(byte)。
int memory_get_usage ([ bool $real_usage = false ] )
real_usage
如果設定為 TRUE,擷取系統分配總的記憶體尺寸,包括未使用的頁。如果未設定或者設定為 FALSE,僅僅報告實際使用的記憶體量。
基礎用法與執行個體
1,擷取當前的記憶體消耗量
<?php echo memory_get_usage(); $var = str_repeat("liuhui", 10000); echo memory_get_usage(); unset($var); echo memory_get_usage(); ?>
分別輸出:62328 122504 62416
說明:memory_get_usage()函數輸出的數值為bytes單位
2,格式化memory_get_usage()輸出
<?php function convert($size){ $unit=array('b','kb','mb','gb','tb','pb'); return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i]; } echo convert(memory_get_usage(true)); ?>
輸出:256 kb
3,自訂函數擷取數組或變數值大小
<?php function array_size($arr) { ob_start(); print_r($arr); $mem = ob_get_contents(); ob_end_clean(); $mem = preg_replace("/\n +/", "", $mem); $mem = strlen($mem); return $mem; } $memEstimate = array_size($GLOBALS); ?>