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
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
Ví dụ 3: Đếm giá trị null
Bài viết này được đăng tại [free tuts .net]
echo count(null); // Kết quả: 0 echo sizeof(null); // Kết quả: 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
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
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