PHP và MySQL Bài 4: Biến, Hằng số và các kiểu dữ liệu trong PHP (String, Integer, Float, Boolean, NULL, Array)
Bất kỳ hệ thống phần mềm nào – từ một trang web đơn giản, một nền tảng thương mại điện tử lớn, cho đến các hệ thống backend điều khiển luồng dữ liệu thời gian thực phức tạp – cốt lõi đều xoay quanh việc: nhận, xử lý và trả về dữ liệu.
Để kiểm soát luồng thông tin này trong PHP, chúng ta cần nắm vững ba khái niệm nền tảng: Biến, Hằng số và Kiểu dữ liệu.
1. Biến (Variables) - Nơi lưu trữ dữ liệu linh hoạt
Hãy hình dung Biến giống như một vùng nhớ tạm thời (một chiếc hộp). Bạn có thể gán bất kỳ giá trị nào vào đó (một con số, một đoạn văn bản) và đặt cho nó một cái tên. Khi cần lấy dữ liệu ra tính toán, bạn chỉ cần gọi tên biến.
Cú pháp khai báo biến
Trong PHP, mọi biến đều bắt buộc phải bắt đầu bằng ký hiệu đô la $. Khác với các ngôn ngữ định kiểu tĩnh (như C++ hay Go), PHP là ngôn ngữ định kiểu động (dynamic typing). Bạn không cần khai báo kiểu dữ liệu trước, hệ thống sẽ tự động nhận diện dựa trên giá trị được gán.
<?php
$hoTen = "Nguyễn Văn A"; // Biến chứa chuỗi văn bản
$namSinh = 2005; // Biến chứa số nguyên
echo "Xin chào, tôi là " . $hoTen . " sinh năm " . $namSinh;
?>
(Lưu ý: Dấu chấm . trong PHP dùng để nối các chuỗi lại với nhau).
3 "Quy tắc vàng" khi đặt tên biến:
- Ký tự bắt đầu: Bắt buộc bắt đầu bằng chữ cái hoặc dấu gạch dưới
_(VD:$name,$_age). Tuyệt đối không bắt đầu bằng số (VD:$123namesẽ gây lỗi cú pháp). - Ký tự cho phép: Chỉ được chứa chữ cái, số và dấu gạch dưới (
A-z,0-9,_). Không sử dụng khoảng trắng hay các ký tự đặc biệt (@,#,%). - Phân biệt chữ hoa - chữ thường: Biến
$Datavà$datalà hai vùng nhớ hoàn toàn độc lập.
2. Hằng số (Constants) - Giá trị bất biến
Nếu Biến có thể thay đổi giá trị liên tục trong quá trình thực thi, thì Hằng số là những giá trị cố định. Một khi đã khởi tạo, giá trị của hằng số không thể bị thay đổi hoặc hủy bỏ trong suốt vòng đời của kịch bản PHP.
Hằng số thường được sử dụng để cấu hình hệ thống, lưu trữ thông tin kết nối cơ sở dữ liệu, hoặc các thông số cố định của dự án.
Cú pháp khai báo
Khác với biến, hằng số không có dấu $ ở đầu. Có 2 cách phổ biến để định nghĩa hằng số:
<?php
// Cách 1: Dùng hàm define() (Phổ biến trong lập trình thủ tục)
define("DB_HOST", "127.0.0.1");
// Cách 2: Dùng từ khóa const (Thường dùng trong Lập trình hướng đối tượng - OOP)
const MAX_CONNECTIONS = 100;
echo "Địa chỉ máy chủ cơ sở dữ liệu: " . DB_HOST;
// Nếu cố tình gán lại giá trị, hệ thống sẽ báo lỗi Fatal Error
// DB_HOST = "localhost"; -> LỖI
?>
💡 Quy ước lập trình (Best Practice): Luôn viết hoa TOÀN BỘ tên hằng số và ngăn cách bằng dấu gạch dưới (
Snake Case) để dễ dàng phân biệt với các biến thông thường trong mã nguồn.
3. Các kiểu dữ liệu cơ bản (Data Types)
Dữ liệu đưa vào hệ thống có rất nhiều dạng. Máy tính cần biết chính xác loại dữ liệu đang xử lý để cấp phát bộ nhớ và thực thi các phép toán phù hợp. Dưới đây là các kiểu dữ liệu cốt lõi trong PHP (đã loại trừ kiểu logic):
3.1. String (Chuỗi văn bản)
Dùng để lưu trữ các ký tự, từ, hoặc đoạn văn. Chuỗi phải được đặt trong dấu nháy đơn '...' hoặc nháy kép "...".
Đặc biệt, dấu nháy kép cho phép "nội suy biến" (phân giải biến trực tiếp bên trong chuỗi) mà không cần dùng toán tử nối chuỗi.
$ngonNgu = "PHP";
echo 'Tôi đang học $ngonNgu'; // Output: Tôi đang học $ngonNgu (Không nội suy)
echo "Tôi đang học $ngonNgu"; // Output: Tôi đang học PHP (Đã nội suy)
3.2. Integer (Số nguyên)
Bao gồm các số nguyên dương, nguyên âm và số 0 (không có phần thập phân). Thường dùng trong các vòng lặp đếm, ID định danh hoặc tính toán cơ bản. (Ví dụ: -15, 0, 2026).
3.3. Float / Double (Số thực)
Các số có chứa phần thập phân. Trong lập trình, phần thập phân được phân tách bằng dấu chấm ., không sử dụng dấu phẩy ,. (Ví dụ: 3.14, -0.05).
3.4. NULL (Kiểu rỗng)
NULL là một kiểu dữ liệu đặc biệt chỉ có duy nhất một giá trị là NULL. Khi một biến mang giá trị NULL, điều đó có nghĩa là nó không chứa bất kỳ dữ liệu nào. Khái niệm này hoàn toàn khác với việc biến chứa số 0 (vẫn là một giá trị toán học) hay một chuỗi rỗng "".
3.5. Array (Mảng)
Mảng là cấu trúc dữ liệu cho phép lưu trữ nhiều giá trị khác nhau bên trong một biến duy nhất. Nó giải quyết bài toán quản lý danh sách dữ liệu có liên quan đến nhau.
$danhSachCongNghe = array("PHP", "Node.js", "C++", "Golang");
4. Công cụ gỡ lỗi: Hàm var_dump()
Trong quá trình phát triển, đặc biệt là khi làm việc với dữ liệu trả về từ API hoặc cơ sở dữ liệu, bạn sẽ cần kiểm tra cấu trúc bên trong của một biến. Hàm var_dump() là công cụ đắc lực nhất cho việc này.
Hàm này sẽ xuất ra màn hình chi tiết về: Kiểu dữ liệu, kích thước/độ dài và giá trị thực tế của biến.
<?php
$thongDiep = "Học Backend";
var_dump($thongDiep);
// Output: string(11) "Học Backend"
$soLuong = 150;
var_dump($soLuong);
// Output: int(150)
?>
Tổng kết
Nắm vững cách vận hành của biến và dữ liệu là bước đệm vững chắc để tiến tới các khái niệm xử lý logic phức tạp hơn trong những bài học tiếp theo.
All Rights Reserved