>백엔드 개발 >PHP 튜토리얼 >PHP에서 중첩 배열의 깊이를 어떻게 계산할 수 있나요?

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

Patricia Arquette
Patricia Arquette원래의
2024-11-08 05:05:01781검색

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;
}

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

위 내용은 PHP에서 중첩 배열의 깊이를 어떻게 계산할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.