안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

레이블이 Count인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Count인 게시물을 표시합니다. 모든 게시물 표시

2018년 1월 18일 목요일

PHP Array Count

배열 크기 즉, "배열의 각 구성 요소(Element)의 개수"를 구하려면 count() 함수 속에 배열명을 넣어주면 됩니다.

그런데 count() 함수는, "요소 개수가 0인 배열"과 "존재하지 않는 배열" 모두 0을 반환하기에 혼란스러운 점이 있습니다. 이때는 isset() 함수를 사용하여 그 배열이 실재하는지 우선 체크하는 것이 좋습니다.

아래 예제의 safeCount() 라는 함수를 사용하면, 배열이 존재하지 않을 때에는 -1을 반환하게 할 수 있습니다.

배열 사이즈 / 요소 갯수 얻기 예제


파일명: example.php
<html>
<head>
<title>PHP Example</title>
</head>

<body>

<?php

  $a = array(1, 2, "AAA", "BBB");
  echo count($a) . "<br />\n";
  // 출력 결과: 4

  $b = array("자장면", "짬뽕", "탕수육");
  echo count($b) . "<br />\n";
  // 출력 결과: 3


  // 요소가 하나도 없으면 당연히 0
  $b = array();
  echo count($b) . "<br />\n";
  // 출력 결과: 0




  /////////////////////////////////////////////
  // 존재하지 않는 배열도 0으로 나오므로 주의
  echo count($tt) . "<br />\n";
  // 출력 결과: 0


  // 존재하지 않는 배열은 -1을 반환하기
  echo safeCount($tt) . "<br />\n";
  // 출력 결과: -1

  // 존재하는 배열만 요소 개수 출력하기
  echo safeCount($a) . "<br />\n";
  // 출력 결과: 4



function safeCount($array) {
  if (isset($array)) return count($array);
  return -1;
}

?>

</body>
</html>