PHP에서는 rsort 함수를 활용하여 배열이 다차원(multi-dimensional) 배열인지 여부를 간편하게 확인할 수 있습니다. 이 함수는 검사하고자 하는 배열을 단일 매개변수로 받아들이며, 배열의 구조에 따라 참(true) 또는 거짓(false)을 반환합니다.
예제
<?php
$my_array = array(
array("This", "is", "a", "sample"),
array("Hi", "there")
);
function multi_dim( $my_arr )
{
rsort( $my_arr );
return isset( $my_arr[0] ) && is_array( $my_arr[0] );
}
echo "Is the array multi-dimensional? ";
var_dump( multi_dim( $my_array ) );
?>
출력 결과
Is the array multi-dimensional? bool(true)
코드 설명
먼저 문자열 요소들을 담고 있는 배열을 정의합니다. 그다음 multi_dim이라는 함수를 선언하여 rsort 함수로 배열의 요소들을 내림차순으로 정렬합니다.
정렬이 완료되면 isset 함수와 is_array 함수를 조합하여 첫 번째 요소가 배열인지 검사합니다. 이 과정을 통해 해당 배열이 단순한 1차원 배열인지, 아니면 다차원 배열인지 명확하게 판별할 수 있습니다.
참고: rsort는 배열을 역순으로 정렬하는 함수입니다. 다차원 배열의 경우 배열 요소가 일반 스칼라 값보다 항상 크게 비교되므로, 정렬 후 첫 번째 요소가 배열인지만 확인하면 해당 배열이 다차원인지 여부를 알 수 있습니다.