>  기사  >  백엔드 개발  >  PHP에서 중첩 배열의 깊이를 결정하는 방법은 무엇입니까?

PHP에서 중첩 배열의 깊이를 결정하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-07 14:52:02971검색

How to Determine the Depth of Nested Arrays in PHP?

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

배열의 최대 중첩 깊이를 결정하는 것은 복잡한 데이터 구조를 처리할 때 유용한 도구가 될 수 있습니다 . PHP에서 배열은 배열을 요소로 포함하여 잠재적으로 깊은 계층 구조를 생성할 수 있습니다.

깊이 결정

중첩 배열의 깊이를 계산하는 신뢰할 수 있는 방법입니다. PHP는 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;
}

이 방법에서는:

  • print_r()은 배열을 인간의 방식으로 출력합니다. 배열 중첩을 나타내는 들여쓰기가 포함된 읽을 수 있는 형식입니다.
  • 출력은 여러 줄로 분할됩니다.
  • 각 줄의 들여쓰기는 4개의 공백의 배수로 계산됩니다.
  • 발생한 최대 들여쓰기는 가장 깊은 중첩 수준을 나타냅니다.
  • 깊이는 (반올림된) 최대 들여쓰기를 반으로 나누어 계산합니다. 각 중첩 수준에는 두 가지 들여쓰기 수준(열기 및 닫기 괄호)이 도입되기 때문입니다.

이 기능을 구현하면 복잡성에 관계없이 모든 PHP 배열의 깊이를 효율적으로 결정할 수 있습니다.

위 내용은 PHP에서 중첩 배열의 깊이를 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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