안녕하세요

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


페이지 목록

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>

댓글 없음:

댓글 쓰기