Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Phát hiện tham chiếu (Spotting References) trong PHP

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.