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