Hàm count() trong PHP có nhiệm vụ lấy ra số phần tử trong một mảng.
Hàm này được sử dụng trên PHP4, PHP5 và PHP7.
Cú pháp hàm count() trong PHP như sau:
count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int
Với $mode là COUNT_RECURSIVE
thì hàm count đếm đệ quy mảng.
Hàm count() sẽ trả về số phần tử của mảng được đếm, nếu đối tượng được truyền vào không phải là một mảng, đồng thời cũng không phải một đối tượng của Countable thì sẽ trả về 1. Trường hợp ngược lại khi đối tượng là NULL sẽ trả về 0.
<?php $a[0] = 1; $a[1] = 3; $a[2] = 5; var_dump(count($a)); $b[0] = 7; $b[5] = 9; $b[10] = 11; var_dump(count($b)); var_dump(count(null)); var_dump(count(false)); ?>
int(3) int(3) Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12 // as of PHP 7.2 int(0) Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14 // as of PHP 7.2 int(1)
<?php $food = array('fruits' => array('orange', 'banana', 'apple'), 'veggie' => array('carrot', 'collard', 'pea')); // recursive count echo count($food, COUNT_RECURSIVE); // output 8 // normal count echo count($food); // output 2 ?>
Trong các trường hợp bạn cần triển khai một vòng lặp, có sử dụng count() thì bạn hãy sử dụng giải pháp sau, để tối ưu code hơn.
//Hiệu năng kém for($i=0;$i<count($some_arr);$i++) { // calculations } //Bằng cách sao chép count mảng, bạn sẽ có hiệu năng tốt hơn $arr_length = count($some_arr); for($i=0;$i<$arr_length;$i++) { // calculations }
Nếu bạn muốn kiếm tra số phần tử không phải là mảng trong một mảng đa chiều bạn có thể sử dụng cách sau
function count_elt($array, &$count=0){ foreach($array as $v) if(is_array($v)) count_elt($v,$count); else ++$count; return $count; }
Nếu bạn sử dụng phiên bản PHP 7.2 thì bạn hãy sử dụng cách sau để kiểm tra một phần tử có phải là một mảng hay không, trước khi sử dụng hàm count() với nó.
<?php $countFruits = is_array($countFruits) || $countFruits instanceof Countable ? count($countFruits) : 0; ?>
Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm count() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé.
Cảm ơn bạn đã ghé thăm codetutam.com
Bình luận: