Giới thiệu
Tên biến PHP bắt đầu bằng dấu $. Theo sau là chữ cái (A-Z hoa hoặc thường) hoặc gạch dưới, sau đó có thể có bất kỳ số lượng chữ cái, số hoặc gạch dưới. Tên biến phân biệt chữ hoa/thường (case sensitive).
Cú pháp
// biến hợp lệ $var = 10; $VAR = "Hello"; // khác $var $marks_1 = 67; $_val = 0; // biến không hợp lệ var = 10; // không bắt đầu bằng $ $4sqr = 16; // không bắt đầu bằng chữ/_ $my name = "Hello"; // không cho khoảng trắng $my$name = "Hello"; // $ không dùng sau vị trí đầu
Biến cũng gán giá trị bằng tham chiếu đến biến khác. Để gán tham chiếu, thêm dấu & trước tên biến trong biểu thức. Thay đổi giá trị của một phản ánh cả hai.
Ví dụ
<?php $var1 = "Hello"; $var2 = &$var1; echo $var1 . " " . $var2 . "\n"; $var2 = "Hi there"; echo $var1 . " " . $var2 . "\n"; ?>
Kết quả
Hello Hello Hi there Hi there
Biến chưa khởi tạo mang giá trị mặc định tùy ngữ cảnh. Ví dụ integer/float = 0, boolean = FALSE, string = chuỗi rỗng (dù PHP mới cảnh báo notice).
Ví dụ hiệu ứng biến chưa khởi tạo:
Ví dụ
<?php $var1 = 10; $var2 = $var1 + $var2; echo $var1 . " " . $var2 . "\n"; $x = "Hello"; unset($x); var_dump($x); // chưa khởi tạo ?>
Kết quả
10 10 NULL PHP Notice: Undefined variable: var2 PHP Notice: Undefined variable: x
Ví dụ biến chưa khởi tạo trong phép cộng dồn:
Ví dụ
<?php $sum = $sum + 10; var_dump($sum); ?>
Kết quả
int(10) PHP Notice: Undefined variable: sum
Ví dụ đối tượng mặc định tạo từ giá trị rỗng với cảnh báo:
Ví dụ
<?php $obj->name = "XYZ"; var_dump($obj); ?>
Kết quả
object(stdClass)#1 (1) { ["name"]=> string(3) "XYZ" } PHP Warning: Creating default object from empty value