
PHP에서 is_array() 함수는 배열인지 아닌지를 검사하는 함수입니다.
PHP 7.2 버전부터는 array() 함수를 사용하여 객체를 생성할 수 있습니다.
이러한 객체는 배열과 다르게 동작할 수 있습니다.
위 코드에서 `$is_array2`가 true가 나오는 이유는 PHP 7.2 버전부터는 array() 함수를 사용하여 객체를 생성할 수 있기 때문입니다.
이 객체는 배열과 다르게 동작하므로, is_array() 함수는 객체를 배열로 인식할 수 있습니다.
따라서, PHP 7.2 버전 이상에서 is_array() 함수를 사용하여 객체를 검사할 때, 객체를 배열로 인식할 수 있습니다.
이러한 문제를 해결하기 위해, PHP 7.2 버전 이상에서 is_array() 함수 대신 is_array()와 gettype() 함수를 사용하여 검사할 수 있습니다.
예를 들어, 다음 코드는 객체를 검사할 때, is_array() 함수 대신 gettype() 함수를 사용하여 검사를 할 수 있습니다.
php
$is_array2 = gettype((object)['a' => 1, 'b' => 2]) == 'array';
2025-06-26 12:51