"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP에서 중첩 배열의 깊이를 어떻게 계산할 수 있나요?

PHP에서 중첩 배열의 깊이를 어떻게 계산할 수 있나요?

2024년 11월 18일에 게시됨
검색:843

How Can I Calculate the Depth of Nested Arrays in PHP?

PHP에서 중첩 배열의 깊이 결정

배열은 PHP의 다목적 데이터 구조로, 요소를 다른 배열 내에 저장할 수 있습니다. 이 기능을 사용하면 복잡한 데이터 구성이 가능하지만 주어진 구조 내에서 배열 중첩의 최대 수준을 결정하는 것이 어려울 수 있습니다.

이 문제를 해결하기 위해 배열의 깊이를 계산하는 함수를 고안할 수 있습니다. 중첩 배열의 최대 수준. 배열에 중첩 배열이 포함되어 있지 않으면 1을 반환합니다. 하나 이상의 중첩 배열이 포함되어 있으면 2를 반환합니다. 등등.

무한 재귀를 위한 대체 솔루션:

배열 깊이를 찾는 한 가지 접근 방식은 print_r()을 활용하여 무한 재귀를 확인하는 것입니다. 이 함수는 배열의 문자열 표현을 생성하며 출력 들여쓰기는 구조의 깊이를 나타낼 수 있습니다.

function array_depth($array) {
    $max_indentation = 1;

    $array_str = print_r($array, true);
    $lines = explode("\n", $array_str);

    foreach ($lines as $line) {
        $indentation = (strlen($line) - strlen(ltrim($line))) / 4;

        if ($indentation > $max_indentation) {
            $max_indentation = $indentation;
        }
    }

    return ceil(($max_indentation - 1) / 2)   1;
}

이 솔루션은 배열 깊이를 정확하게 결정하여 재귀 함수와 관련된 잠재적 위험을 방지합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3