Forum und email

count

(PHP 4, PHP 5)

count — 배열의 원소수, 객체의 프로퍼티수를 셉니다

설명

int count ( mixed $var [, int $mode ] )

일반적으로 array형에 들어있는 원소수를 반환합니다. 다른 형은 (하나의 원소만 가지기 때문입니다)

객체는 SPL을 설치했다면, Countable 인터페이스를 가질 경우에 count()를 사용할 수 있습니다. 이 인터페이스는 정확히 하나의 메쏘드 count()을 가지며, count() 함수의 반환값을 반환합니다.

var 가 배열이나 Countable 인터페이스를 가진 객체가 아니라면, 1을 반환합니다. 한가지 예외는, varNULL일 경우에 0을 반환합니다.

Note: 선택적인 mode 매개변수는 PHP 4.2.0부터 사용할 수 있습니다.

선택적인 mode 매개변수를 COUNT_RECURSIVE(또는 1)로 설정하면, count()는 재귀적으로 배열을 셉니다. 이 매개변수는 다차원 배열의 모든 원소를 셀때 특히 유용합니다. mode 의 기본값은 0입니다. count()는 무한 재귀를 감지하지 못합니다.

Caution

count()는 설정하지 않은 변수에 대하여 0을 반환하지만, 빈 배열에 대해서도 0을 반환합니다. 변수를 설정했는지 여부는 isset()을 사용하시오.

PHP에서 배열이 어떻게 구현되고 어떻게 사용되는지에 대한 자세한 설명을 보기 위해서는 배열 섹션을 참고하십시오.

Example#1 count() 예제

<?php
$a
[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result count ($a);
// $result == 3

$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result count ($b);
// $result == 3;

$result count(null);
// $result == 0

$result count(false);
// $result == 1
?>

Example#2 재귀적인 count() 예제 (PHP >= 4.2.0)

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

// 재귀 count
echo count($food,COUNT_RECURSIVE);  // 8 출력

// 보통 count
echo count($food);                  // 2 출력

?>

참고: is_array(), isset(), strlen().