Hiểu về phạm vi biến PHP (tiếp tục)
Xem xét ví dụ sau:
function describeMyDog()
{
$color = “brown”;
echo “My dog is $color<br/>”;
}
//Define my cat s color
$color = “black”;
//Display info about my dog and cat
describeMyDog();
echo “My cat is $color<br/>”;
Chú ý là code tạo biến với cùng tên $color cái nằm trong và ngoài hàm. Tuy nhiên, nhờ có khái niệm
phạm vi biến, biến $color trong hàm describeMyDog() độc lập với biến $color được tạo ngoài hàm, vì vậy
code tạo ra kết quả là:
My dog is brown
My cat is black
Hãy xem xét nếu phạm vi biến $color không bị giới hạn. Trong trường hợp này, $color trước tiên thiết lập
về black
//Define my cat
$color = “black”;
Tuy nhiên, khi hàm describeMyDog() được gọi biến $color sẽ được thiết lập lại và ghi đè bởi giá trị “brown” (Vì
chỉ có một biến $color) tạo ra kết quả sau:
My dog is brown
My cat is brown
Vì vậy, phạm vi biến tránh đụng độ tên biến, cái giúp tránh cho bạn hiện tượng ghi đè lên biến có cùng tên.
Đó là lí do vì sao hàm lại hữu dụng.