Làm thế nào để bạn khai báo một số không đổi trong php?

Tóm lược. trong hướng dẫn này, bạn tìm hiểu về hằng PHP và cách sử dụng hàm define() và từ khóa const để xác định hằng

Giới thiệu về hằng PHP

Một hằng số chỉ đơn giản là một tên chứa một giá trị duy nhất. Đúng như tên gọi của nó, giá trị của hằng số không thể thay đổi trong quá trình thực thi tập lệnh PHP

Để xác định một hằng số, bạn sử dụng hàm  define(). Hàm define() lấy tên của hằng số làm đối số thứ nhất và giá trị của hằng số làm đối số thứ hai. Ví dụ

define('WIDTH','1140px'); echo WIDTH;

Code language: PHP (php)

Theo quy ước, tên hằng là chữ hoa. Không giống như một biến, tên hằng không bắt đầu bằng ký hiệu đô la(

define( 'ORIGIN', [0, 0] );

Code language: PHP (php)
2)

Theo mặc định, tên hằng phân biệt chữ hoa chữ thường. Điều đó có nghĩa là

define( 'ORIGIN', [0, 0] );

Code language: PHP (php)
3 và

define( 'ORIGIN', [0, 0] );

Code language: PHP (php)
4 là các hằng số khác nhau

Có thể xác định các hằng số không phân biệt chữ hoa chữ thường. Tuy nhiên, nó không được dùng nữa kể từ PHP 7. 3

Trong PHP 5, hằng số có thể chứa một giá trị đơn giản như số, chuỗi, giá trị boolean. Từ PHP7. 0, một hằng số có thể chứa một mảng. Ví dụ

define( 'ORIGIN', [0, 0] );

Code language: PHP (php)

Giống như các biến siêu toàn cục, bạn có thể truy cập các hằng số từ bất kỳ đâu trong tập lệnh

từ khóa const

PHP cung cấp cho bạn một cách khác để định nghĩa một hằng thông qua từ khóa const. Đây là cú pháp

const CONSTANT_NAME = value;

Code language: PHP (php)

Trong cú pháp này, bạn xác định tên hằng sau từ khóa const. Để gán giá trị cho một hằng, bạn sử dụng toán tử gán (=) và giá trị của hằng. Giá trị không đổi có thể là vô hướng, e. g. , một số, một chuỗi hoặc một mảng

Ví dụ sau sử dụng từ khóa const để xác định hằng số

define( 'ORIGIN', [0, 0] );

Code language: PHP (php)
8

const SALES_TAX = 0.085; $gross_price = 100; $net_price = $gross_price * (1 + SALES_TAX); echo $net_price; // 108.5

Code language: PHP (php)

Ví dụ sau sử dụng từ khóa const để xác định hằng số RGB chứa một mảng

________số 8_______

xác định vs const

Đầu tiên, define() là một chức năng trong khi const là một cấu trúc ngôn ngữ

Điều đó có nghĩa là hàm define() xác định một hằng số trong thời gian chạy, trong khi từ khóa const xác định một hằng số tại thời điểm biên dịch

Nói cách khác, bạn có thể sử dụng hàm define() để xác định một hằng số có điều kiện như thế này

if(condition) { define('WIDTH', '1140px'); }

Code language: PHP (php)

Tuy nhiên, bạn không thể sử dụng từ khóa const để định nghĩa một hằng số theo cách này. Ví dụ: cú pháp của đoạn mã sau không hợp lệ

if(condition) { const WIDTH = '1140px'; }

Code language: PHP (php)

Thứ hai, hàmdefine() cho phép bạn xác định một hằng số có tên xuất phát từ một biểu thức. Ví dụ: phần sau định nghĩa ba hằng số

const CONSTANT_NAME = value;

Code language: PHP (php)
6,

const CONSTANT_NAME = value;

Code language: PHP (php)
7 và

const CONSTANT_NAME = value;

Code language: PHP (php)
8 với các giá trị 1, 2 và 3

define('PREFIX', 'OPTION'); define(PREFIX . '_1', 1); define(PREFIX . '_2', 2); define(PREFIX . '_3', 3);

Code language: PHP (php)

Tuy nhiên, bạn không thể sử dụng từ khóa const để xác định tên hằng bắt nguồn từ một biểu thức

Trừ khi bạn muốn xác định hằng số theo điều kiện hoặc sử dụng biểu thức, bạn có thể sử dụng từ khóa const để xác định hằng số nhằm làm cho mã rõ ràng hơn