在PHP開發中,了解對象佔用的內存大小有助於性能優化和內存管理。我們可以利用PHP內置函數memory_get_usage() ,在創建對象前後調用它,計算對象實際分配的內存。
class MyBigClass {
var $allocatedSize;
var $allMyOtherStuff;
}
<p>function AllocateMyBigClass() {<br>
$before = memory_get_usage();<br>
$ret = new MyBigClass;<br>
$after = memory_get_usage();<br>
$ret->allocatedSize = ($after - $before);<br>
return $ret;<br>
}
在函數AllocateMyBigClass()中,先記錄當前內存使用量$before ,然後創建一個MyBigClass對象,接著記錄創建後的內存使用量$after 。二者相減即為該對象所佔用的內存大小,並將結果賦值給對象的allocatedSize屬性。
這種方式測量的內存大小是相對環境的,可能會受到PHP內存管理機制的影響,僅供參考。實際應用時,可以結合其他工具和方法綜合分析。