웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > php

[PHP] 배열 개수 구하기, count()

Last Modified : 2020-05-30 / Created : 2015-06-26
90,099
View Count

PHP의 자료 타입 중 하나인 배열은 한개가 아닌 다수의 값을 가지고 있습니다. 만약, 배열이 가진 값의 총 개수를 확인하려면 어떻게 해야할까요?

몇 개의 값을 가지고 있는지 구해야 하는 경우 배열의 개수를 반환하는 함수 count()를 사용할 수 있습니다. count() 함수를 사용하면 해당하는 배열이 몇 개의 값을 가지고 있는지 계산하여 숫자로 반환합니다.

아래는 count() 함수를 사용하는 간단한 방법입니다.
count($test)
// 배열 $test 변수의 개수를 반환

보시는 것처럼 사용방법은 간단합니다. count() 함수를 사용하고 매개변수로 배열이름을 사용하면 됩니다. 그럼 더 자세한 방법을 알기위해 아래의 예제를 사용하여 알아보도록 하겠습니다.




# count() 함수 예제소스 코드보기

아래 예제는 배열의 개수를 구하는 방법입니다.
<?php
  $test = array('a', 'b', 'c');
  $testNo = count($test); // $test가 가진 배열 길이를 반환

  print_r($testNo);
?>

위 예제에서 $test 변수는 배열값이 총 3개를 가지고 있습니다. 이를 실행할 경우 어떻게 될까요? 현재 배열이 가진 길이인 3을 반환하게 됩니다. 아래의 결과를 봐주세요.
3 // 현재 가진 배열의 총 개수 숫자 3을 반환함

예상대로 3을 반환하였습니다. 그렇다면 만약 값이 없는 null 타입의 값이 배열에 포함되어 있다면 어떻게 될까요? 이 경우를 확인하기 위해 아래의 예제를 봐주세요.



! 값이 없는 경우의 count() 함수 예제보기

데이터의 값이 없는 경우를 알아보기 위해 아래와 같이 코드를 작성하였습니다. 변수 $test2는 데이터를 3개 가지고 있으나 그 중 하나는값이 없는 상태입니다. 이 경우 count() 함수가 어떤 값을 반환하는지 알아보고자 합니다.
<?php
  $test2  = array('1', '', '3');
  $test2No = count($test2); // $test2 배열 변수의 개수를 반환

  print_r($testNo);
?>

보시는 것처럼 배열변수 $test2는 3개의 배열값을 가지고 있으나 이중 하나는 값이 없는 null 타입의 데이터입니다. 이를 실행하면 아래와 같은 결과가 나오게됩니다. 아래의 결과를 봐주세요.
3 // 총 배열 개수 3을 반환

Array ( [0] => 1, [1] => 2, [2] => )

예상할 수 있는 결과는 2 또는 3이었으나 3을 반환하였습니다. 이를 통해 알 수 있는 점은 값이 없는 null 값의 데이터 역시 배열에 존재할 경우 배열의 개수로 포함하여 반환한다는 점입니다. 그래서 총 4개를 보여줍니다.



! count() 함수 사용시 주의할 점

count() 함수는 배열의 개수를 세며 해당 배열의 존재하는 가의 여부를 판별하지 않기 때문에 결과에 반영되지 않습니다. 그래서 만약 배열이 없는 경우라도 0을 반환하기 때문에 주의해야합니다. 이 때문에 코드가 오류를 일으킬 수 있습니다.

만약 배열이 존재하는 경우에만 count() 함수를 사용하려면 어떻게 해야할까요? 이 경우는 다음과 같이 분기문인 if를 사용하여 선언해야 합니다.
<?php
if (isset($test) == true) {
   $testNo = count($test);
   print_r($testNo);
}
?>

isset() 함수는 해당 변수가 존재하는지 확인 후 존재하여 true를 아니면 false를 반환합니다. 위 예제에서는 배열 변수가 존재하는 경우에만 그 개수인 배열 길이를 $testNo에 저장한 후 반환하게 됩니다.

여기까지 count() 함수에 대하여 알아봤습니다.

Previous

[PHP] 행 개수 구하기, mysqli_num_rows()

Previous

[PHP] 이전 페이지로 돌아가기