Hàm count() trong PHP
Trần Thị Vân
- 1195
- 28/07/2025
Chức năng của Hàm count() trong PHP
Hàm count() trong PHP dùng để đếm số phần tử cấp 1 của một mảng hoặc đếm số phần tử ở tất cả các cấp của một mảng.
Cú pháp của Hàm count() trong PHP
count($biến_mảng);
$biến_mảng: Biến của một mảng.
Hàm truyền 1 tham số sẽ đếm phần tử cấp 1 của mảng.
count($biến_mảng, cách_đếm);
$biến_mảng: Biến của một mảng.
cách_đếm: Nếu cách đếm bằng 1 hoặc COUNT_RECURSIVE thì sẽ đếm tất cả phần tử ở tất cả các cấp có trong mảng, nếu cách đếm bằng 0 hoặc COUNT_NORMAL thì sẽ đếm tất cả phần tử cấp 1 có trong mảng.
Các cách count() trong PHP
Hàm count() đếm phần tử cấp 1 của mảng trong PHP
Để đếm tất cả phần tử có trong cấp 1 của mảng hãy dùng hàm count($biến_mảng); hoặc count($biến_mảng, cách_đếm); và để cách_đếm bằng 0 hoặc COUNT_NORMAL
<?php
$mangmot = array("Trang chủ","Giới thiệu","Thiết kế website","Blog","Liên hệ");
echo count($mangmot); // Kết quả: 5
echo "<br>";
$manghai = array("Trang chủ","Giới thiệu","Thiết kế website" => array("Thiết kế website tại Hồ Chí Minh","Thiết kế website tại Hà Nội"),"Blog" => array("Kiến thức PHP","Kiến thức CSS"),"Liên hệ");
echo count($manghai ); // Kết quả: 5
echo "<br>";
echo count($manghai, COUNT_NORMAL); // Kết quả: 5
echo "<br>";
echo count($manghai, 0); // Kết quả: 5
echo "<br>";
?>
Kết quả:
5
5
5
5
Hàm count() đếm tất cả phần tử của mảng trong PHP
Để đếm tất cả phần tử ở tất cả các cấp trong mảng thì dùng cấu trúc count($manghai,1) hoặc count($manghai,COUNT_RECURSIVE), thêm 1 hoặc COUNT_RECURSIVE ở tham số thứ 2:
<?php
$mangmot = array("Trang chủ","Giới thiệu","Thiết kế website","Blog","Liên hệ");
echo count($mangmot); // Kết quả: 5
echo "<br>";
$manghai = array("Trang chủ","Giới thiệu","Thiết kế website" => array("Thiết kế website tại Hồ Chí Minh","Thiết kế website tại Hà Nội"),"Blog" => array("Kiến thức PHP","Kiến thức CSS"),"Liên hệ");
echo count($manghai,1); // Kết quả: 9
echo "<br>";
echo count($manghai,COUNT_RECURSIVE); // Kết quả: 9
?>
Kết quả:
5
9
9
Những trường hợp nên sử dụng hàm count() trong PHP
Hàm count() phát huy hiệu quả khi chương trình cần biết một mảng đang chứa bao nhiêu phần tử. Thay vì tự theo dõi số lượng dữ liệu, bạn có thể lấy kết quả trực tiếp rồi dùng cho điều kiện, vòng lặp hoặc các bước xử lý tiếp theo.
Kiểm tra mảng có bao nhiêu phần tử trước khi xử lý
Trước khi thao tác với dữ liệu, việc xác định số phần tử trong mảng giúp chương trình xử lý đúng theo từng trường hợp. Chẳng hạn, một danh sách có thể chứa nhiều phần tử, chỉ có một phần tử hoặc hoàn toàn không có dữ liệu.
Kết quả từ count() có thể kết hợp với câu lệnh điều kiện để quyết định chương trình nên tiếp tục xử lý hay thông báo rằng danh sách chưa có dữ liệu.
<?php
$products = ["Laptop", "Điện thoại", "Máy tính bảng"];
if (count($products) > 0) {
echo "Danh sách có " . count($products) . " sản phẩm.";
}
?>
Kết hợp count() với vòng lặp để xử lý dữ liệu trong mảng
Khi cần duyệt lần lượt các phần tử, count() có thể cung cấp số lượng phần tử để xác định giới hạn của vòng lặp. Cách này phù hợp với những trường hợp dữ liệu được lưu dưới dạng mảng và cần xử lý theo từng vị trí.
<?php
$users = ["An", "Bình", "Minh"];
for ($i = 0; $i < count($users); $i++) {
echo $users[$i] . "
";
}
?>
Với mảng lớn hoặc khi số lượng phần tử được sử dụng nhiều lần, nên cân nhắc lưu kết quả đếm vào một biến để tránh gọi lại count() không cần thiết trong quá trình lặp.
Kiểm tra mảng rỗng trước khi thực hiện thao tác
Một tình huống phổ biến là dữ liệu được lấy từ biểu mẫu, cơ sở dữ liệu hoặc một nguồn bên ngoài nhưng chưa chắc đã có phần tử. Kiểm tra số lượng trước khi xử lý giúp hạn chế các thao tác không cần thiết và làm cho luồng chương trình rõ ràng hơn.
<?php
$orders = [];
if (count($orders) === 0) {
echo "Chưa có đơn hàng.";
}
?>
Cách kiểm tra này đặc biệt hữu ích khi xây dựng các chức năng hiển thị danh sách. Nếu không có dữ liệu, chương trình có thể đưa ra thông báo phù hợp thay vì cố gắng hiển thị một danh sách trống.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm count() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *