PHP의 count() 함수는 배열에 포함된 요소의 개수 또는 객체에 정의된 속성의 개수를 계산하여 반환하는 함수입니다. 배열 처리 시 가장 자주 사용되는 필수 내장 함수 중 하나로, 반복문 제어나 데이터 검증 등 다양한 상황에서 활용됩니다.
문법
count(arr, mode)
매개변수
arr − 개수를 셀 대상이 되는 배열 또는 객체입니다.
mode − 계산 방식을 지정하며, 선택적으로 사용할 수 있습니다. 가능한 값은 다음과 같습니다.
• 0 (기본값): 최상위 레벨의 요소만 계산합니다.
• 1 (COUNT_RECURSIVE): 중첩된 배열까지 재귀적으로 모든 요소를 계산합니다.
반환 값
count() 함수는 배열 내 요소의 개수를 정수(int) 형태로 반환합니다. 참고로 전달받은 변수가 배열이나 Countable 인터페이스를 구현한 객체가 아닐 경우 1을 반환하며, 변수가 null일 경우 0을 반환합니다.
사용 예제
다음은 count() 함수의 기본적인 사용 예제입니다.
<?php
$products = array("Electronics", "Footwear");
echo count($products);
?>
실행 결과
2
$products 배열에는 "Electronics"와 "Footwear" 두 개의 요소가 저장되어 있으므로, 결과로 2가 출력됩니다.
재귀 모드(mode = 1) 활용 예제
중첩 배열의 경우 mode 매개변수를 활용하면 하위 배열의 요소까지 모두 셀 수 있습니다.
<?php
$menu = array(
"fruits" => array("apple", "banana"),
"vegetables" => array("carrot", "onion", "potato")
);
echo count($menu); // 출력: 2 (최상위 키만 계산)
echo count($menu, 1); // 출력: 7 (중첩 요소까지 모두 계산)
?>
기본 모드에서는 최상위 키인 "fruits"와 "vegetables" 2개만 계산되지만, 재귀 모드(1)를 사용하면 하위 배열의 요소 5개까지 합쳐 총 7이 반환됩니다.