So sánh define và const trong php năm 2024

  1. [Q] khac biet qiua const & define ? k0 biết 2 lệnh sau có khác nhau ko?Mong bà con chỉ zùm:

    1/ const int i=5; 2/

    define i 5;

    -
  2. > 1/ trong chương trình kể từ chỗ khai báo bạn không thể thay đổi giá trị của biến i. biến i thực sự được cấp 1 ô nhớ và không thể thay đổi giá trị.

    2/ Khi biên dịch thì trong mã nguồn chương trình, chỗn nào có biến tên là i sẽ được thay bằng số 5. Ví dụ : Mã nguồn : x*i ==> Khi biên dịch ra được dịch như sau : x*5

    -
  3. > 1. strong typed

    2. untyped

    -
  4. > theo walls biết ( có sai thì chỉnh dùm ) là khi sử dụng

    define thì trình biên dịch sẽ search toàn file của bạn, chỗ nào có i thì thay nó thành 5

    vd : x*y*z*i thành x*y*z*5 sau đó mới bắt đầu biên dịch const sẽ chiếm 1 ô nhớ, truy xuất vào sẽ làm chậm chương trình ( dù rất nhỏ, kô đánh kể ).

    define kô chiếm ô nhớ, vì nó thay sẵn giá trị vào trong code chương trình

    -
  5. >

    define chính là một macro.

    ---

Hằng số trong PHP là tên hoặc mã định danh không thể thay đổi trong quá trình thực thi tập lệnh ngoại trừ các hằng số ma thuật, không thực sự là hằng số. Hằng số trong PHP có thể được định nghĩa theo 2 cách:

  1. Sử dụng hàm define()
  2. Sử dụng từ khóa const

Hằng số tương tự như biến ngoại trừ một khi chúng được định nghĩa, chúng không bao giờ có thể được xác định hoặc thay đổi. Chúng không đổi trong toàn bộ chương trình. Các hằng số PHP tuân theo các quy tắc biến PHP giống nhau. Ví dụ , nó có thể được bắt đầu bằng một chữ cái hoặc chỉ dấu gạch dưới.

Thông thường, các hằng số PHP nên được định nghĩa bằng chữ hoa.

Lưu ý: Không giống như các biến, hằng số tự động là toàn cục trong toàn bộ tập lệnh.

Nội dung chính

1. Hằng số trong PHP: define()

Sử dụng hàm define() để tạo một hằng số. Nó khai báo hằng số tại thời gian chạy. Hãy xem cú pháp của hàm define() trong PHP.

define(name, value, case-insensitive)  

  1. name: Nó chỉ định tên hằng số.
  2. value: Nó chỉ định giá trị không đổi.
  3. case-insensitive: nó phân biệt chữ hoa chữ thường.

Hãy xem ví dụ để định nghĩa hằng số PHP bằng cách sử dụng define().

Tệp: hằng số1.php

<?php  
define("MESSAGE","Hello Cafedev vs PHP");  
echo MESSAGE;  
?>

Đầu ra:

Hello Cafedev vs PHP

Tạo một hằng số có tên không phân biệt chữ hoa chữ thường :

Tệp: const2.php

<?php    
define("MESSAGE","Hello Cafedev PHP",true);//not case sensitive    
echo MESSAGE, "</br>";    
echo message;    
?>  

Đầu ra:

Hello Cafedev PHP
Hello Cafedev PHP

Tệp: const3.php

<?php  
define("MESSAGE","Hello Cafedev PHP",false);//case sensitive  
echo MESSAGE;  
echo message;  
?> 

Đầu ra:

Hello Cafedev PHP
Notice: Use of undefined constant message - assumed 'message' 
in C:cafedev\wamp\www\vconstant3.php on line 4
message

2. Hằng số trong PHP: từ khóa const

PHP đã giới thiệu một từ khóa const để tạo một hằng số. Từ khóa const khai báo các hằng số tại thời điểm biên dịch. Nó là một cú pháp trong ngôn ngữ PHP, không phải là một hàm. Hằng được khai báo bằng từ khóa const có phân biệt chữ hoa chữ thường .

Tệp: const4.php

<?php  
const MESSAGE="Hello const by Cafedev PHP";  
echo MESSAGE;  
?>  

Đầu ra:

Hello const by Cafedev PHP

3. Hàm Constant()

Có một cách khác để in giá trị của hằng số bằng cách sử dụng hàm constant () thay vì sử dụng câu lệnh echo.

Cú pháp

Cú pháp cho hàm hằng sau:

constant(name)  

Tệp: const5.php

<?php  
define("MESSAGE","Hello Cafedev vs PHP");  
echo MESSAGE;  
?>

0

Đầu ra:

<?php  
define("MESSAGE","Hello Cafedev vs PHP");  
echo MESSAGE;  
?>

1

4. Hằng số so với Biến

Hằng sốBiếnMột khi hằng số được khai báo, nó không bao giờ có thể được khai báo lại.Một biến có thể không được khai báo cũng như được khai báo lại một cách dễ dàng.Một hằng số chỉ có thể được khai báo bằng cách sử dụng hàm define(). Nó không thể được định nghĩa bằng bất kỳ phép gán đơn giản nào.Một biến có thể được khai báo bằng toán tử gán (=) đơn giản.Không cần sử dụng ký hiệu đô la ($) trước hằng số trong quá trình gán.Để khai báo một biến, luôn sử dụng ký hiệu đô la ($) trước biến.Các hằng số không tuân theo bất kỳ quy tắc xác định phạm vi biến nào và chúng có thể được định nghĩa và truy cập ở bất cứ đâu.Các biến có thể được khai báo ở bất kỳ đâu trong chương trình, nhưng chúng tuân theo các quy tắc xác định phạm vi biến.Hằng là những biến có giá trị không thể thay đổi trong suốt chương trình.Giá trị của biến có thể được thay đổi.Theo mặc định, hằng số là toàn cục.Các biến có thể là cục bộ, toàn cục hoặc tĩnh.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

  • Full series tự học PHP từ cơ bản tới nâng cao tại đây nha.
  • Ebook về PHP tại đây.
  • Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa: