在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  網絡安全/ PHP垃圾回收

PHP垃圾回收

變量名是存放在棧空間的,棧區(qū)是先進后出,那么主動 unset 一個變量的時候,它是怎么被彈出的?

回答
編輯回答
下墜

php中變量是分配在執(zhí)行棧的尾部,執(zhí)行棧zend_execute_data,實際是一塊堆內存,是個變長結構體,由zval來存儲變量的值,變量名是存儲在symbol_table中,在unset時,并沒有進行出棧操作,而是將變量名稱從全局符號表(函數中則為函數執(zhí)行棧的符號表)中刪除,并且將存儲其值的zval置為IS_UNDEF,函數中的臨時變量的內存會在函數執(zhí)行結束時進行釋放,全局變量則在整個程序執(zhí)行結束后進行釋放

2018年9月22日 08:39