PHP Numbers là một trong những khái niệm cơ bản khi học lập trình PHP và thường xuất hiện trong hầu hết các ứng dụng web. Trong bài viết này, thuộc series "Học ngôn ngữ lập trình PHP" của codetuthub.com, chúng ta sẽ cùng tìm hiểu về các loại số trong PHP, cách thao tác với chúng, và một số hàm hữu ích khi làm việc với kiểu dữ liệu số.
1. Các loại kiểu dữ liệu số trong PHP
Trong PHP, số được phân thành ba loại chính:
1.1. Integer (Số nguyên)
Số nguyên là những số không chứa phần thập phân và có thể là số dương hoặc số âm. Trong PHP, một số nguyên có thể có giá trị trong khoảng từ -2,147,483,648 đến 2,147,483,647 trên hệ thống 32-bit, hoặc lớn hơn với hệ thống 64-bit.
Cú pháp để khai báo một số nguyên rất đơn giản:
$so_nguyen = 123;
echo $so_nguyen;Một số đặc điểm của số nguyên trong PHP:
- Không chứa phần thập phân.
- Có thể viết dưới hệ nhị phân, bát phân, thập lục phân (binary, octal, hexadecimal).
Ví dụ:
$binary = 0b1010; // Hệ nhị phân
$octal = 0123; // Hệ bát phân
$hexadecimal = 0x1A; // Hệ thập lục phân1.2. Float (Số thực)
Số thực, hay còn gọi là số dấu phẩy động, là những số có chứa phần thập phân hoặc là những số trong biểu diễn khoa học (scientific notation). Đây là các số chính xác tương đối và thích hợp cho các phép tính toán yêu cầu độ chính xác cao.
Ví dụ:
$so_thuc = 10.5;
echo $so_thuc;Hoặc có thể sử dụng biểu diễn khoa học:
$so_thuc_khoa_hoc = 1.2e3; // 1.2 * 10^3 = 1200
echo $so_thuc_khoa_hoc;1.3. NaN (Not a Number)
NaN là một giá trị đặc biệt được trả về khi một phép tính không thể trả về một số hợp lệ. Ví dụ, phép chia 0 hoặc các phép tính không hợp lệ khác.
Ví dụ:
$x = acos(8); // Trả về NaN vì giá trị vượt ngoài phạm vi của hàm acos
var_dump($x); // Kết quả: float(NAN)2. Phép toán tới số trong PHP
PHP hỗ trợ đầy đủ các phép toán cơ bản với số như cộng, trừ, nhân, chia, và phép chia lấy dư (modulus). Dưới đây là một số ví dụ:
$a = 10;
$b = 3;
echo $a + $b; // Cộng: 13
echo $a - $b; // Trừ: 7
echo $a * $b; // Nhân: 30
echo $a / $b; // Chia: 3.3333
echo $a % $b; // Chia lấy dư: 12.1. Phép tăng giảm
PHP cung cấp hai phép toán đặc biệt là tăng thêm một đơn vị (++) và giảm đi một đơn vị (--), rất thường được sử dụng trong các vòng lặp.
$x = 5;
$x++; // Tăng x lên 6
$x--; // Giảm x xuống 53. Hàm xử lý số trong PHP
PHP cung cấp nhiều hàm hữu ích để thao tác với số. Dưới đây là một số hàm phổ biến mà bạn nên biết:
3.1. is_int() và is_float()
Hai hàm này giúp kiểm tra xem một biến có phải là số nguyên hay số thực hay không:
$x = 10.5;
var_dump(is_int($x)); // Kết quả: false
var_dump(is_float($x)); // Kết quả: true3.2. abs() – Hàm tính giá trị tuyệt đối
Hàm này trả về giá trị tuyệt đối của một số:
echo abs(-10); // Kết quả: 103.3. round() – Hàm làm tròn
Hàm này làm tròn số thực tới số nguyên gần nhất, hoặc tới một số chữ số thập phân xác định:
echo round(3.14159, 2); // Kết quả: 3.143.4. rand() – Hàm sinh số ngẫu nhiên
Hàm này trả về một số ngẫu nhiên trong khoảng giá trị xác định:
echo rand(1, 100); // Sinh số ngẫu nhiên trong khoảng từ 1 đến 1003.5. number_format() – Định dạng số
Hàm này giúp định dạng số với dấu phân cách phần ngàn và phần thập phân:
$so = 1234567.89;
echo number_format($so); // Kết quả: 1,234,5674. Cách kiểm soát độ chính xác của Float
Làm việc với số thực đôi khi có thể dẫn đến các sai số nhỏ do cách mà PHP và các ngôn ngữ lập trình khác xử lý dấu phẩy động. Để giảm thiểu sai số này, chúng ta có thể sử dụng hàm bcadd() trong PHP để xử lý các phép tính số thực với độ chính xác cao:
$so_1 = '0.1';
$so_2 = '0.2';
echo bcadd($so_1, $so_2, 1); // Kết quả: 0.35. Chuyển đổi kiểu dữ liệu
Trong PHP, bạn có thể ép kiểu biến sang dạng số bằng cách sử dụng cú pháp:
$x = "123.45";
$so_nguyen = (int)$x; // Chuyển sang số nguyên: 123
$so_thuc = (float)$x; // Chuyển sang số thực: 123.45Việc ép kiểu rất hữu ích khi bạn cần làm việc với dữ liệu đầu vào là chuỗi nhưng muốn thực hiện các phép toán số học.
Kết luận
Làm việc với Numbers trong PHP là một phần quan trọng mà mọi lập trình viên cần nắm vững. Qua bài viết này, chúng ta đã tìm hiểu về các loại số trong PHP, các phép toán cơ bản, các hàm hữu ích, và một số vấn đề liên quan đến xử lý số trong thực tế. Hi vọng bài viết sẽ giúp bạn có một cái nhìn rõ ràng hơn về cách PHP xử lý số và giúp ích trong quá trình lập trình của bạn.
Nếu bạn muốn tìm hiểu thêm về các khía cạnh khác của ngôn ngữ PHP, hãy tiếp tục theo dõi series "Học ngôn ngữ lập trình PHP" trên codetuthub.com!
Chúc bạn học tốt và thành công trong hành trình chinh phục PHP!









