引用賦值
用不同的名字訪問同一個變量內容,使用 & 符號
$a = &$b;
面試實戰題
//寫出如下程序的輸出結果
$d = ['a', 'b', 'c'];
foreach($d as $k => $v)
{
$v = &$d[$k];
}
//程序運行時,每一次循環結束後變量 $d 的值是什麼?請解釋。
//程序執行完成後,變量 $d 的值是什麼?請解釋。
使用函數
memory_get_usage( $real_usage = false)//返回分配給PHP的內存大小字節數
range()//返回一個數組序列
xdebug_debug_zval() 用於顯示變量的信息
COW機制: Copy-On-Write
- 在PHP內核中,COW也是主要的內存優化手段。
- 在通過變量賦值的方式賦值給變量時,不會申請新內存來存放新變量的值,而是簡單的通過一個計數器來共用內存。只有在其中的一個引用指向變量的值發生變化時,才申請新空間來保存值內容,以減少對內存的佔用。
- 在很多場景下PHP都使用COW進行內存的優化。比如:變量的多次賦值、函數參數傳遞,並在函數體內修改實參等。