
PHP의 `is_array` 함수는 변수가 배열인지 아닌지를 확인하는 함수입니다. 하지만 이 함수는 변수가 배열인지 아닌지를 확인하는 것이 아니라, 변수가 배열 타입인지 아닌지를 확인합니다.
위 코드에서 `'hello'`라는 문자열은 배열 타입이 아니지만, PHP는 문자열을 자동으로 배열 타입으로 변환할 수 있습니다. 예를 들어, 다음과 같은 코드를 실행하면 `'hello'`라는 문자열이 배열로 변환됩니다.
#hostingforum.kr
php
$str = 'hello';
$str = (array)$str;
var_dump($str); // array(0) { }
이러한 이유로, `'hello'`라는 문자열은 `is_array` 함수에 의해 배열로 간주됩니다.
`'hello'`라는 문자열이 배열로 간주되지 않도록 하려면, 문자열을 배열로 변환하지 않도록 해야 합니다. 예를 들어, 다음과 같은 코드를 실행하면 `'hello'`라는 문자열은 배열로 변환되지 않습니다.
#hostingforum.kr
php
$str = 'hello';
var_dump(is_array($str)); // bool(false)
또는, `is_array` 함수 대신 `is_array` 함수가 반환하는 결과를 확인하기 전에, 변수의 타입을 확인하는 `gettype` 함수를 사용할 수 있습니다.
#hostingforum.kr
php
$str = 'hello';
var_dump(gettype($str)); // string
var_dump(is_array($str)); // bool(false)
이러한 방법으로, `'hello'`라는 문자열이 배열로 간주되지 않도록 할 수 있습니다.
2025-04-30 08:34