php垃圾回收機制的詳細介紹,請看下文:

<?php $a = "new string"; ?>
在上例中,新的變量a,是在當前作用域中生成的。并且生成了類型為 string 和值為new string的變量容器。在額外的兩個字節(jié)信息中,"is_ref"被默認設置為 FALSE,因為沒有任何自定義的引用生成。
"refcount" 被設定為 1,因為這里只有一個變量使用這個變量容器. 注意到當"refcount"的值是1時,"is_ref"的值總是FALSE. 如果你已經安裝了? Xdebug,你能通過調用函數 xdebug_debug_zval()顯示"refcount"和"is_ref"的值。
Example #2 顯示zval信息
<?php
xdebug_debug_zval('a');
?>以上例程會輸出:
a: (refcount=1, is_ref=0)='new string'
把一個變量賦值給另一變量將增加引用次數(refcount).
Example #3 增加一個zval的引用計數
<?php $a = "new string"; $b = $a; xdebug_debug_zval( 'a' ); ?>
以上例程會輸出:
a: (refcount=2, is_ref=0)='new string'
這時,引用次數是2,因為同一個變量容器被變量 a 和變量 b關聯.當沒必要時,php不會去復制已生成的變量容器。
變量容器在”refcount“變成0時就被銷毀. 當任何關聯到某個變量容器的變量離開它的作用域(比如:函數執(zhí)行結束),或者對變量調用了函數 unset()時,”refcount“就會減1,下面的例子就能說明:
Example #4 減少引用計數
<?php $a = "new string"; $c = $b = $a; xdebug_debug_zval( 'a' ); unset( $b, $c ); xdebug_debug_zval( 'a' ); ?>
以上例程會輸出:
a: (refcount=3, is_ref=0)='new string' a: (refcount=1, is_ref=0)='new string'
如果我們現在執(zhí)行 unset($a);,包含類型和值的這個變量容器就會從內存中刪除。
以上就是php垃圾回收機制的詳細介紹,看完之后是否有所收獲呢?如果如果想了解更多,歡迎來創(chuàng)新互聯成都網站設計公司行業(yè)資訊!創(chuàng)新互聯成都網站設計公司是一家業(yè)內資深的專業(yè)云計算服務提供商哦,如果想購買云服務器,香港服務器,美國服務器等產品的,可以多多關注。
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網站設計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:php垃圾回收機制的詳細介紹-創(chuàng)新互聯
鏈接地址:http://chinadenli.net/article32/igcpc.html
成都網站建設公司_創(chuàng)新互聯,為您提供ChatGPT、手機網站建設、網站改版、全網營銷推廣、云服務器、搜索引擎優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯