Nên dùng count() hay sizeof() để đếm số phần tử của mảng

Khi làm việc với mảng thì hàm count() có lẽ được dùng rất là thông dùng, nhưng bên cạnh đó có một hàm nữa có chức năng tương tự, đó là hàm sizeof(). Nhưng tại sao PHP lại có hai hàm mà chức năng lại giống nhau là đếm số phần tử của mảng? Điều này cho thấy có sự khác biệt ở đâu đó chăng? Thật ra thì không có sự khác biệt mấy, hàm sizeof() là một hàm mà ta có thể gọi là một alias của hàm count() nên chức năng hoàn toàn giống nhau. Để rõ hơn ta sẽ đi vào một số ví dụ nhé.

1. Một vài ví dụ sử dụng count() và sizeof() để đếm tổng số phần tử mảng

Ví dụ 1: Đếm tổng số phần tử của mảng với key có thứ tự

$a[0] = 1;
$a[1] = 3;
$a[2] = 5;

echo count($a);
// Kết quả: 3

echo sizeof($a);
// Kết quả: 3
=> Kết quả giống nhau

Ví dụ 2: đếm tổng số phần tử của mảng với key không có thứ tự

$a[0] = 1;
$a[100] = 3;
$a[244] = 5;

echo count($a);
// Kết quả: 3

echo sizeof($a);
// Kết quả: 3
=> Kết quả giống nhau

Ví dụ 3: Đếm giá trị null

echo count(null);
// Kết quả: 0

echo sizeof(null);
// Kết quả: 0
=> Ta thấy cả hai khi đếm giá trị null đều cho giá trị là 0

Ví dụ 4: Đếm gái trị true hoặc false

echo count(true);
// Kết quả: 1

echo sizeof(true);
// Kết quả: 1
=> Khi đếm biến có giá trị true/false thì nó sẽ cho kết quả là 1

Ví dụ 5: Đếm một chuỗi

echo count('');
// Kết quả: 1

echo sizeof('');
// Kết quả: 1

echo count('chuoi');
// Kết quả: 1

echo sizeof('chuoi');
// Kết quả: 1
=> Ta thấy dù chuỗi có rỗng đi chăng nữa thì kết quả nó cũng luôn trả về là 1 phần tử

2. Lời kết

Ta thấy khi đếm tổng số phần tử của mảng thì hoàn toàn có thể dùng một trong hai hàm count() hoặc sizeof(). Tuy nhiên trên thực tế thì người ta khuyên dùng hàm count() , có thể là vì hàm sizeof() là mộ alias của count(). Đấy là ý kiến của riêng mình nên có gì không đúng mong bạn bỏ qua

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.