Cách nhanh nhất để kiểm tra mảng rỗng trong PHP

Cập nhật vào

Mục luc:

Cách nhanh nhất để kiểm tra mảng rỗng trong PHP

Cách nhanh nhất để kiểm tra xem một mảng có rỗng hay không

Để kiểm tra xem một mảng PHP có rỗng hay không, sử dụng hàm empty():

1$foo = [];
2 
3// true
4var_dump(empty($foo));
5 
6$bar = ['Foo', 'Bar', 'Baz'];
7 
8// false
9var_dump(empty($bar));

Đây là cách mình ưa thích. Tuy nhiên, còn có các phương pháp khác để kiểm tra xem một mảng có rỗng không, như:

  1. Sử dụng hàm count() (hoặc sizeof()) để đếm số phần tử trong mảng và kiểm tra xem nó có bằng không hay không. Hàm count() cũng có thể đếm số lượng phần tử trong mảng đa chiều.
  2. Sử dụng toán tử not (!). Nếu mảng không chứa giá trị nào, toán tử not sẽ trả về true. Bạn có thể dừng lại ở đây, hoặc bạn có thể đi sâu hơn và tìm hiểu cách sử dụng các hàm này để kiểm tra mảng rỗng.

Cách khác để kiểm tra xem một mảng có rỗng không

Hàm count()

Một cách khác để kiểm tra xem mảng của bạn có rỗng hay không là sử dụng hàm count(). Hàm này trả về một số nguyên tùy thuộc vào số mục trong mảng, hoặc trả về số 0 nếu mảng rỗng.

Bạn cũng có thể sử dụng nó với các đối tượng có thể đếm được.

1echo count(['Foo', 'Bar', 'Baz']);

Đối với mảng đa chiều, có một tham số thứ hai mà bạn có thể sử dụng hằng số COUNT_RECURSIVE để đếm đệ quy số lượng mục.

1$array = [
2 'Foo' => [
3 'Bar' => ['Baz'],
4 ],
5];
6 
7// 3
8$count = count($array, COUNT_RECURSIVE);
9 
10// If $count is greater than zero.
11if ($count > 0) {
12 // The array is not empty.
13} else {
14 // The array is empty.
15}

Tìm hiểu thêm về hàm count().

Hàm sizeof()

sizeof() là bí danh của hàm count() và có thể được sử dụng trên mảng theo cùng cách. PHP thực sự có rất nhiều bí danh cho các hàm khác nhau.

1echo sizeof(['Foo', 'Bar', 'Baz']);

Tìm hiểu thêm về hàm sizeof().

Toán tử not (!)

Một cách không quá trực quan để kiểm tra xem mảng của bạn không rỗng là sử dụng toán tử not (!).

Mình đã từng không biết rằng nó có thể kiểm tra mảng rỗng. Quả thật, sau hơn 6 năm làm việc với PHP, vẫn đang học một điều cơ bản nữa. 😅

1$foo = [];
2 
3if (! $foo) {
4 echo '$foo is empty.';
5}

Cảm ơn các bạn đã dành thời gian đọc bài!

Recommended