count()
함수의 정의 및 사용법
count()
함수는
주어진 배열의 모든 요소의 개수를 계산해서(count) 정수로 반환하는 함수입니다.
이 함수는 배열 외에도 Countable
인터페이스를 구현하는 객체의 요소 개수를 계산해서 정수로 반환합니다.
Countable
객체의 요소 개수 계산을 참조하세요.
count()
함수의 형식은 다음과 같습니다.
구문
매개변수
$value |
요소의 개수를 계산할 배열이나 Countable 객체입니다. |
---|---|
$mode |
옵션.
이 매개변수는 COUNT_NORMAL (또는 0 )이나 COUNT_RECURSIVE (또는 1 ) 상수 중 하나를 가질 수 있습니다. 기본값은 COUNT_NORMAL 입니다.
|
반환 값
요소의 개수를 정수로 반환합니다.
PHP 8.0.0 버전 이전에는
매개변수가 배열이나 Countable
객체가 아니면 함수는 값의 요소 수를 반환하지 않습니다. 그 대신에 다음과 같은 규칙에 따라 동작합니다
- 만약 매개변수가
null
이면, 함수는0
을 반환합니다. - 그렇지 않으면, 함수는
1
을 반환합니다.
PHP 8.0.0 버전부터는
매개변수가 배열이나 Countable
객체가 아니면 함수는 항상 0
을 반환합니다. 이것은 이전에 null
이 아닌 값에서 항상 1
을 반환했던 동작과 달라진 점입니다. 이것은 함수의 동작을 더 일관되게 만들어주고, 이전에 혼란스러운 동작을 개선해주었습니다.
다차원 배열과 요소의 반환 값 계산
배열 안에 또 다른 배열을 포함하는 다차원 배열(multidimensional array)은 배열 안에 요소로 배열이 있고, 그 배열 안에 요소가 있는 형태인데 요소의 개수를 계산할 때 내부 배열의 요소들까지 모두 포함한 총 요소의 개수를 계산하려면 count()
함수의 두 번째 매개변수의 값을 COUNT_RECURSIVE
나 1
로 설정하면 됩니다.
이렇게 설정하면 count()
함수는 다차원 배열의 모든 요소를 재귀적으로 탐색하여 내부 배열의 요소도 포함하여 총 요소의 개수를 반환합니다.
Countable
객체의 요소 개수 계산
count()
함수는 배열 외에도 Countable
인터페이스를 구현하는 객체의 요소 개수를 계산해서 정수로 반환합니다.
간단한 예제로 Countable
인터페이스를 구현하는 클래스를 만들어보겠습니다. 이 클래스는 문자열의 길이를 반환하는 메서드를 포함합니다. 그리고 Countable
인터페이스를 구현하여 해당 클래스의 요소 수를 계산할 수 있도록 합니다.
이 예제에서는 String_Length_Counter
클래스가 Countable
인터페이스를 구현하여 count()
메서드를 제공합니다.
이 메서드는 문자열의 길이를 반환하는 get_string_length()
메서드를 호출하여 요소 수를 반환합니다. 그리고 count()
함수를 이용하여 String_Length_Counter
객체의 요소 수를 계산합니다.