배열 count

(PHP 4, PHP 5, PHP 7, PHP 8)

count — 배열 또는 Countable 개체의 모든 요소를 ​​셉니다.


설명

count(Countable|array $value, int $mode = COUNT_NORMAL): int

배열과 함께 사용할 때 배열의 모든 요소를 ​​셉니다. Countable 인터페이스를 구현하는 객체와 함께 사용하면 Countable::count() 메서드의 반환 값을 반환합니다.


매개변수

value
배열 또는 Countable 개체입니다.
mode
선택적 mode 매개변수가 COUNT_RECURSIVE(또는 1)로 설정되면 count()는 배열을 재귀적으로 계산합니다. 이것은 다차원 배열의 모든 요소를 ​​계산하는 데 특히 유용합니다.

주의 count()는 무한 루프를 피하기 위해 재귀를 감지할 수 있지만 그럴 때마다 E_WARNING을 내보내고(배열에 두 번 이상 포함된 경우) 예상보다 높은 카운트를 반환합니다.


반환 값

value의 요소 수를 반환합니다. PHP 8.0.0 이전에는 매개변수가 배열도 아니고 Countable 인터페이스를 구현하는 객체도 아닌 경우 valuenull인 경우가 아니면 1이 반환되고 이 경우 0이 반환됩니다.


변경 로그

버전 설명
8.0.0 count()는 이제 value 매개변수에 전달된 유효하지 않은 셀 수 있는 유형에 대해 TypeError를 발생시킵니다.
7.2.0 count()는 이제 value 매개변수에 전달된 유효하지 않은 셀 수 있는 유형에 대한 경고를 생성합니다.

Examples

예제 #1 count() 예제

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

위의 예는 다음을 출력합니다.

int(3)
int(3)
                

예제 #2 count() non Countable|배열 예(나쁜 예 - 하지 마십시오)

                  
<?php
$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
var_dump(count($b));

var_dump(count(null));

var_dump(count(false));
?>
                  
                

위의 예는 다음을 출력합니다.

int(3)
int(0)
int(1)
                

PHP 7.2에서 위 예제의 출력:

int(3)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12
int(0)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14
int(1)
                

PHP 8에서 위 예제의 출력:

int(3)

Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable .. on line 12
                

예제 #3 재귀 count() 예제

                  
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// recursive count
var_dump(count($food, COUNT_RECURSIVE));

// normal count
var_dump(count($food));
?>
                  
                

위의 예는 다음을 출력합니다.

int(8)
int(2)
                

예제 #4 Countable object

                  
<?php
class CountOfMethods implements Countable
{
    private function someMethod()
    {
    }

    public function count(): int
    {
        return count(get_class_methods($this));
    }
}

$obj = new CountOfMethods();
var_dump(count($obj));
?>
                  
                

위의 예는 다음을 출력합니다.

int(2)
                

기타

  • is_array() - 변수가 배열인지 여부를 찾습니다.
  • isset() - 변수가 선언되었고 null과 다른지 확인
  • empty() - 변수가 비어 있는지 확인
  • strlen() - 문자열 길이 가져오기
  • is_countable() - 변수의 내용이 셀 수 있는 값인지 확인
  • Arrays