Home / Hướng Dẫn / PHP / [PHP] Bài 4: Hằng số trong PHP

[PHP] Bài 4: Hằng số trong PHP

Một hằng (constant) là một tên hoặc một định danh cho một giá trị đơn. Giá trị của hằng không thể thay đổi trong quá trình thực thi script.

Theo mặc định, một hằng là phân biệt kiểu chữ. Theo qui ước, các định danh hằng luôn luôn là chữ hoa. Tên hằng bắt đầu với một chữ cái hoặc dấu gạch dưới ( _ ), được theo sau bởi bất kì số lượng chữ cái, số hoặc dấu gạch dưới nào. Nếu bạn đã định nghĩa một hằng số, nó có thể không bao giờ được thay đổi hoặc định nghĩa lại.

Để định nghĩa một hằng số trong PHP, bạn phải sử dụng hàm define() và để lấy giá trị của một hằng, bạn phải chỉ ra tên của nó. Không giống như biến, bạn không cần thêm $ vào hằng. Bạn cũng có thể sử dụng hàm constant() để đọc một giá trị của hằng nếu bạn muốn lấy tên của hằng một cách linh hoạt.

Hàm constant() trong PHP

Như tên hàm đã đề cập, hàm này sẽ trả về giá trị của hằng số.

Điều này là rất hữu ích khi bạn muốn lấy giá trị của một hằng, nhưng bạn không biết tên của nó, ví du: nó được lưu giữ trong một biến hoặc được trả về bởi một hàm.

Ví dụ hàm constant() trong PHP

<?php
   define("TAPCHICNTT", "https://tapchicntt.com");
   
   echo TAPCHICNTT; 
   echo constant("TAPCHICNTT"); // Kết quả được in như lệnh echo bên trên
?>

Khác nhau giữa hằng số và biến trong PHP là:

  • Để định nghĩa biến cần viết kí tự $ vào trước, ngược lại hằng thì không cần.
  • Hằng không thể được định nghĩa bằng phép gán đơn giản, chúng chỉ có thể được định nghĩa bằng cách sử dụng hàm define().
  • Hằng có thể được định nghĩa và truy cập bất cứ đâu mà không quan tâm đến quy tắc phạm vi biến.
  • Một hằng khi đã được định nghĩa, nó không thể định nghĩa lại hoặc hủy định nghĩa.

Hằng số Magic trong PHP

PHP cung cấp một số lượng lớn các hằng số được định nghĩa trước để bất kỳ script nào cũng có thể sử dụng nó.

Tham khảo tại: https://www.php.net/manual/en/language.constants.php

About TapChi CNTT

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.