is_array()
함수의 사용법
is_array()
함수는
주어진 값이 배열(array) 타입인지 확인하는 함수입니다.
이 함수는 매개변수로 전달된 값이 배열 타입이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
배열(array) 타입은
배열을 나타내는 데이터 타입입니다. PHP의 배열은 숫자 인덱스 배열(일반 배열)과 연관 배열 두 가지 타입이 있습니다.
이 함수의 관련 함수를 참조하세요.
is_array()
함수의 형식은 다음과 같습니다.
구문
매개변수
$value |
필수. 배열(array) 타입를 확인할 값입니다. |
---|
반환 값
매개변수로 전달된 값이 배열 타입이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
주의할 점
is_array()
함수를 사용할 때 주의할 점이 있습니다.
빈 배열도 true
를 반환
is_array()
함수는 빈 배열을 포함하여 배열을 가리키는 모든 변수에 대해 true
를 반환합니다. 이것은 is_array()
함수가 해당 변수가 배열인지 아닌지를 확인하는 것이기 때문입니다. 즉, 빈 배열 역시 배열임을 인식하고 true
를 반환합니다.
객체는 배열로 간주하지 않음
객체는 배열과 유사한 방식으로 작동할 수 있지만, 배열과 동일하지 않습니다. 객체는 배열보다 훨씬 더 많은 기능을 제공하며, 배열과는 다른 방식으로 작동하는 여러 가지 특징을 가지고 있습니다. 따라서 is_array()
함수를 사용하여 변수의 타입을 확인할 때, 객체는 항상 false
를 반환한다는 점을 기억해야 합니다.
변수의 타입이 객체인지 확인하려면 is_object()
함수를 사용하는 것이 좋습니다.
코드 부연설명
is_object()
함수는 주어진 값이 객체(object) 타입인지 확인하는 함수입니다.
오류 처리
is_array()
는 변수가 정의되지 않았거나 null
일 때 오류를 발생시키지 않습니다.
이는 변수가 배열이 아닌 경우에도 경고를 발생시키지 않으므로, 코드에서 이를 인식하기 어려울 수 있습니다.
변수의 오류 처리가 중요할 경우 주의해야 합니다.
위의 코드에서는 정의되지 않은 변수와 null
값을 가지는 변수에 대해 is_array()
함수를 호출합니다. 그러나 이 두 경우 모두 is_array()
함수는 오류를 발생시키지 않고 false
를 반환합니다. 따라서 변수의 타입을 확실히 알고 있어야만 하며, 이를 인식하지 못하면 잠재적인 오류를 발견하기 어려울 수 있습니다.
활용 예제
is_array()
함수는 다음과 같은 경우에 사용하면 편리하거나 유용합니다.
코드의 안전성을 높이기 위해
코드에서 특정 변수가 배열인지 확인해야 하는 경우 is_array()
함수를 사용하여 안전하게 검사할 수 있습니다. 이렇게 하면 예상치 못한 타입의 변수가 전달될 때 발생할 수 있는 오류를 방지할 수 있습니다.
위의 코드에서 my_function()
은 $data
라는 인자를 필요로 합니다. 그러나 만약 함수가 호출될 때 배열이 아닌 다른 타입의 데이터가 전달된다면, 예외를 발생시켜서 함수가 비정상적으로 동작하는 것을 방지할 수 있습니다.
배열 관련 기능을 수행하기 전에
배열 관련 기능을 수행하기 전에 is_array()
함수를 사용하여 변수가 실제로 배열인지 확인하는 것이 좋습니다. 이렇게 하면 오류를 방지하고 코드의 가독성을 높일 수 있습니다.
코드 부연설명
foreach
반복문은 배열이나 객체를 순회해서 반복으로 처리할 때 사용하는 대표적인 구문입니다.
위의 코드에서 $data
변수가 maybe_get_array()
함수를 통해 반환된 값이라고 가정합니다. 그러나 반환된 값이 배열이 아닐 수도 있습니다. 이 경우에 is_array()
함수를 사용하여 $data
가 배열인지 확인할 수 있습니다.
PHP 버전 호환성
PHP 4+
참고문헌
같이 보기
- PHP 배열을 생성(선언)하거나 나타내는 표기법 - array(), [ ]
- PHP gettype() 함수 - 변수의 데이터 타입 확인
- PHP is_bool() 함수 - 변수의 부울(boolean) 타입 확인
- PHP is_int() 함수 - 변수의 정수(integer) 타입 확인
- PHP is_float() 함수 - 변수의 부동소수점 숫자(float) 타입 확인
- PHP is_numeric() 함수 - 변수의 값이 숫자 또는 숫자 문자열인지 확인
- PHP is_string() 함수 - 변수의 문자열(string) 타입 확인
- PHP is_object() 함수 - 변수의 객체(object) 타입 확인
- PHP is_resource() 함수 - 변수의 리소스(resource) 타입 확인
- PHP is_null() 함수 - 변수의 NULL 타입 확인
- PHP ctype_digit() 함수 - 문자열이 모두 숫자인지 확인