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é.

test php

banquyen png

Bài viết này được đăng tại

freetuts.net

, không được copy dưới mọi hình thức.

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

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

=> 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

2. Lời kết

=> 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ử

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