⊗ppPmRcMA 220 of 447 menu

PHP에서의 재귀와 다차원 구조

임의의 깊이를 가진 다차원 배열이 주어졌을 때, 예를 들어 다음과 같은 배열이 있다고 가정해 봅시다:

<?php $arr = [ 1, [ 2, 7, 8 ], [ 3, 4, [5, [6, 7]], ] ]; ?>

보시다시피, 이 배열은 복잡한 구조를 가지고 있으며, 이 구조는 임의적일 수 있고 중첩 수준은 무한히 깊을 수 있다고 가정합니다.

배열의 모든 기본(즉, 배열이 아닌) 요소를 화면에 출력하고 싶다고 가정해 보겠습니다. 이 경우, 배열의 구조가 불규칙하고 중첩 수준을 알 수 없기 때문에, 단순히 반복문을 사용하여 이 배열을 순회하는 것은 불가능합니다.

그러나, 이러한 배열을 순회하는 데에는 재귀를 사용하는 것이 매우 편리할 것입니다.

먼저, 매개변수로 배열을 받는 함수를 만들고, 함수 내에서 배열을 순회하기 위한 반복문을 작성해 보겠습니다:

<?php function func($arr) { foreach ($arr as $elem) { echo $elem; } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]); ?>

우리가 만든 반복문은 메인 배열의 요소만을 순회할 것입니다. 즉, 처음에는 1을 출력하고, 그 다음 [2, 7, 8]을, 마지막으로 [3, 4, [5, [6, 7]]을 출력합니다.

이제 반복문 내에서 기본 요소와 배열 요소를 구분해 보도록 하겠습니다:

<?php function func($arr) { foreach ($arr as $elem) { if (is_array($elem)) { // 요소 - 배열 } else { // 요소 - 기본값 echo $elem; } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]); ?>

이제 요소가 배열인 경우, 함수가 그 배열을 매개변수로 전달하여 스스로를 호출하도록 만들어 보겠습니다:

<?php function func($arr) { foreach ($arr as $elem) { if (is_array($elem)) { func($elem); } else { echo $elem; } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]); ?>

임의의 깊이를 가진 다차원 배열이 주어졌을 때, 예를 들어 다음과 같은 배열이 있다고 가정해 봅시다:

<?php $arr = [1, 2, 3, [4, 5, [6, 7]], [8, [9, 10]]]; ?>

재귀를 사용하여 이 배열의 모든 기본 요소를 화면에 출력하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부