Giới thiệu
Nhiều cấu trúc cú pháp trong PHP được triển khai qua cơ chế tham chiếu (referencing). Nếu tham chiếu đến biến global bị unset trong function, biến đó trong global namespace không bị xóa.
Ví dụ
<?php
$var1 = 'Hello World';
function myfunction() {
global $var1;
$var2 = &$var1;
echo "$var1, $var2\n";
$var2 = "Hello PHP";
echo "$var1, $var2\n";
unset($var1);
}
myfunction();
echo "$var1\n";
?>
Kết quả
Hello World, Hello World Hello PHP, Hello PHP Hello PHP
Global $var1 vẫn intact (vẫn tồn tại).
Hàm debug_zval_dump() có thể dùng để kiểm tra xem biến có tham chiếu đến biến khác hay không.