Wednesday, May 02, 2007
PHP 예제] 배열 크기, 사이즈 구하기 함수, 배열 요소 개수; Array Size Function
배열 크기 즉, "배열의 각 구성 요소(Element)의 개수"를 구하려면 count() 함수 속에 배열명을 넣어주면 됩니다.
그런데 count() 함수는, "요소 개수가 0인 배열"과 "존재하지 않는 배열" 모두 0을 반환하기에 혼란스러운 점이 있습니다. 이때는 is_array() 함수를 사용하여 그 배열이 실재하는지 우선 체크하는 것이 좋습니다.
아래 예제의 safeCount() 라는 함수를 사용하면, 배열이 존재하지 않을 때에는 -1을 반환하게 할 수 있습니다.
파일명: example.php
▶▶ PHP 예제] 문자열 길이, 한글 글자 수 구하기 함수; CJK String Length
▶▶ PHP 배열 선언 정의 초기화, 해쉬; Array, Hash Define
그런데 count() 함수는, "요소 개수가 0인 배열"과 "존재하지 않는 배열" 모두 0을 반환하기에 혼란스러운 점이 있습니다. 이때는 is_array() 함수를 사용하여 그 배열이 실재하는지 우선 체크하는 것이 좋습니다.
아래 예제의 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
// 참고: 아래 함수 속의 is_array()는 원래 isset()이었는데
// is_array()가 더 합리적이라 업데이트했음
function safeCount($array) {
if (is_array($array)) return count($array);
return -1;
}
?>
</body>
</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
// 참고: 아래 함수 속의 is_array()는 원래 isset()이었는데
// is_array()가 더 합리적이라 업데이트했음
function safeCount($array) {
if (is_array($array)) return count($array);
return -1;
}
?>
</body>
</html>
▶▶ PHP 예제] 문자열 길이, 한글 글자 수 구하기 함수; CJK String Length
▶▶ PHP 배열 선언 정의 초기화, 해쉬; Array, Hash Define
tag: php
PHP 프로그래밍
<< Home