count()
함수의 정의 및 사용법
count()
함수는
주어진 배열의 모든 요소의 개수를 계산해서(count) 정수로 반환하는 함수입니다.
이 함수는 배열 외에도 Countable
인터페이스를 구현하는 객체의 요소 개수를 계산해서 정수로 반환합니다.
Countable
객체의 요소 개수 계산을 참조하세요.
count()
함수는 다른 이름으로 sizeof()
함수라는 별명으로 사용됩니다.
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
객체의 요소 수를 계산합니다.