2016-11-15 17 views

回答

1

PHP有垃圾回收內存管理。你通常不會手動/強制釋放它,當沒有更多的引用時它會被GC'd。但是,您必須正確使用引用。

documentation中,查看Z_ADDREF,Z_DECREFzval_ptr_dtor。還有一個Z_FREE,但是你通常不應該使用這個 - 你不想強制釋放在其他「活動」(可達)值中引用的zval

有關如何使用參考系統以及相應普通PHP代碼的具體示例的概述,請參閱文檔中的reference tutorial

要準確地回答你的問題:MAKE_STD_ZVAL用1引用計數因此,單一的通話

zval_ptr_dtor(zval_); 

將刪除該參考,並清除在下次GC迭代變量(而不像Z_FREE開始值關這將做正確的事情,即使你將值傳遞給可能存儲在某個地方的某個函數,並增加其參考計數等等。)

相關問題