Code Tu Tam

Hàm count trong PHP là gì ?

Rate this post

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

Cú pháp hàm count() trong PHP như sau:

count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int

Tham số truyền vào 

Với $modeCOUNT_RECURSIVEthì hàm count đếm đệ quy mảng.

 

Giá trị trả về

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.

Ví dụ minh họa

<?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));
?>

Và kết quả trả về

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)

Ví dụ khi có tham số $mode

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

?>

Ứng dụng

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;
}

Khuyến cáo

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;
?>

 

Các hàm liên quan

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exit mobile version