Hằng số PHP
Các hằng số giống như các biến, ngoại trừ việc một khi chúng được xác định thì chúng không thể thay đổi hoặc không xác định được.
Hằng số PHP
Hằng số là mã định danh (tên) cho một giá trị đơn giản. Giá trị không thể thay đổi trong tập lệnh.
Tên hằng hợp lệ bắt đầu bằng một chữ cái hoặc dấu gạch dưới (không có dấu $ trước tên hằng).
Lưu ý: Không giống như các biến, các hằng số tự động mang tính tổng thể trên toàn bộ tập lệnh.
Tạo một hằng số PHP
Để tạo một hằng số, hãy sử dụng hàm define()
.
Cú pháp
define( name , value , case-insensitive );
Thông số:
- name : Chỉ định tên của hằng số
- value : Chỉ định giá trị của hằng số
- không phân biệt chữ hoa chữ thường : Chỉ định xem tên hằng có phân biệt chữ hoa chữ thường hay không. Mặc định là sai. Lưu ý: Việc xác định các hằng số không phân biệt chữ hoa chữ thường không được dùng nữa trong PHP 7.3. PHP 8.0 chỉ chấp nhận sai, giá trị đúng sẽ đưa ra cảnh báo.
Ví dụ
Tạo một hằng số có tên phân biệt chữ hoa chữ thường :
define("GREETING", "Welcome to W3Schools.com!");
echo GREETING;
Hãy tự mình thử »Ví dụ
Tạo một hằng số có tên không phân biệt chữ hoa chữ thường :
define("GREETING", "Welcome to W3Schools.com!", true);
echo greeting;
Hãy tự mình thử » Từ khóa const PHP
Bạn cũng có thể tạo một hằng số bằng cách sử dụng từ khóa const
.
const
so với define()
-
const
luôn phân biệt chữ hoa chữ thường -
define()
có tùy chọn không phân biệt chữ hoa chữ thường. -
const
không thể được tạo bên trong phạm vi khối khác, như bên trong hàm hoặc bên trong câu lệnhif
. -
define
có thể được tạo bên trong phạm vi khối khác.
Mảng hằng số PHP
Từ PHP7, bạn có thể tạo hằng số mảng bằng hàm define()
.
Ví dụ
Tạo một hằng số mảng:
define("cars", [
"Alfa Romeo",
"BMW",
"Toyota"
]);
echo cars[0];
Hãy tự mình thử »Các hằng số là toàn cục
Các hằng số tự động mang tính toàn cục và có thể được sử dụng trên toàn bộ tập lệnh.
Ví dụ
Ví dụ này sử dụng một hằng số bên trong hàm, ngay cả khi nó được xác định bên ngoài hàm:
define("GREETING", "Welcome to W3Schools.com!");
function myTest() {
echo GREETING;
}
myTest();
Hãy tự mình thử »