배열로 HTML 트리 출력

그리스도

주어진 html 구조를 배열로 출력하는 더 우아한 방법이 있습니까? 몇 가지 재귀 솔루션을 찾았지만 따라서 parent_id가 필요합니다 (올바르게 이해하는 경우).

HTML

<ul>
  <li>Level 1</li>
  <li>
    <ul>
      <li>Level 2</li>
      <li>
        <ul>
          <li>Level 3</li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

정렬

Array
(
[0] => Level 1
[1] => Array
    (
        [0] => Level 2
        [1] => Array
            (
                [0] => Level 3
            )

    )

)

루프

<ul>
<?php foreach($array as $arr) : ?>
    <li>
    <?php if(is_array($arr)) : ?>
        <ul>
            <?php foreach($arr as $a) : ?>
                <li>
                <?php if(is_array($a)) : ?>
                    <ul>
                        <?php foreach($a as $aa) : ?>
                            <li><?php echo $aa; ?></li>
                        <?php endforeach; ?>
                    </ul>
                <?php else : ?>
                    <?php echo $a; ?>
                <?php endif; ?>
                </li>
            <?php endforeach; ?>
        </ul>
    <?php else : ?>
        <?php echo $arr; ?>
    <?php endif; ?>
    </li>
<?php endforeach; ?>
</ul>

이 접근 방식의 성능에 대해 조금 걱정합니다. -D

도마

재귀 적으로 수행하십시오.

<?PHP

function doOutputList($TreeArray)
{
    echo '<ul>';
    foreach($TreeArray as $arr)
    {
        echo '<li>';
        if(is_array($arr)) 
        {
                doOutputList($arr);
        }
        else
        {
                echo $arr;
        }
        echo '</li>';
    }
    echo '</ul>';
}

doOutputList($array);

?>

또는 읽기 좋은 HTML 코드가 마음에 들면 다음을 시도하십시오.

<?PHP

function doOutputList($TreeArray, $deep=0)
{
    $padding = str_repeat('  ', $deep*3);

    echo $padding . "<ul>\n";
    foreach($TreeArray as $arr)
    {
        echo $padding . "  <li>\n";
        if(is_array($arr)) 
        {
                doOutputList($arr, $deep+1);
        }
        else
        {
                echo $padding .'    '. $arr;
        }
        echo $padding . "  </li>\n";
    }
    echo $padding . "</ul>\n";
}

doOutputList($array);

?>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript foreach 배열 키 값, html로 출력

분류에서Dev

HTML 테이블로 PHP 출력 배열

분류에서Dev

이진 검색 트리 배열 출력

분류에서Dev

Python OpenCV 출력을 HTML 캔버스로 어떻게 스트리밍합니까?

분류에서Dev

배열을 반복하고 결과를 html로 출력

분류에서Dev

PHP 배열 결과를 HTML 테이블로 출력

분류에서Dev

2D 배열을 html 파일로 출력

분류에서Dev

HTML 양식 제출-자바 스크립트 배열에 입력 값 추가

분류에서Dev

HTML 입력 배열 : 자바 스크립트로 HTML 입력 배열 값을 얻는 방법

분류에서Dev

PHP : html 테이블의 출력 배열

분류에서Dev

HTML을 텍스트로 출력하는 Html.Raw

분류에서Dev

회귀 출력 (51 출력)으로 tensorflow에서 큰 numpy 배열 처리

분류에서Dev

자바 스크립트로 배열 출력

분류에서Dev

Perl : 텍스트 출력을 해시 배열로 구문 분석

분류에서Dev

C ++ 텍스트 파일 데이터를 char 배열로 출력

분류에서Dev

출력을 html로 표시

분류에서Dev

PHP로 HTML 입력 추출

분류에서Dev

MSSQL 트리거-파일로 출력 (XML)

분류에서Dev

양식 선택 쿼리 출력-배열

분류에서Dev

자바 스크립트의 JSON 출력을 HTML로

분류에서Dev

Python 출력을 텍스트 파일 및 html로 전달

분류에서Dev

C # 컨트롤러에서 Angular로 HTML 출력

분류에서Dev

배열 자바 스크립트 출력

분류에서Dev

HTML / CSS로 PHP 배열 POST 출력 스타일 지정 (예쁘게 만들기)

분류에서Dev

jq로 JSON 처리-배열 인덱스 / 이름을 출력으로 처리

분류에서Dev

html로 출력 할 때 jupyter 노트북 / 실험실 셀 너비를 늘리는 방법

분류에서Dev

HTML 양식을 연관 배열로 PHP 스크립트에 제출

분류에서Dev

response.redirect 트리거 전에 HTML 출력 일시 중지

분류에서Dev

PHP 병합 배열 및 출력을 도트 포인트로 표시

Related 관련 기사

  1. 1

    Javascript foreach 배열 키 값, html로 출력

  2. 2

    HTML 테이블로 PHP 출력 배열

  3. 3

    이진 검색 트리 배열 출력

  4. 4

    Python OpenCV 출력을 HTML 캔버스로 어떻게 스트리밍합니까?

  5. 5

    배열을 반복하고 결과를 html로 출력

  6. 6

    PHP 배열 결과를 HTML 테이블로 출력

  7. 7

    2D 배열을 html 파일로 출력

  8. 8

    HTML 양식 제출-자바 스크립트 배열에 입력 값 추가

  9. 9

    HTML 입력 배열 : 자바 스크립트로 HTML 입력 배열 값을 얻는 방법

  10. 10

    PHP : html 테이블의 출력 배열

  11. 11

    HTML을 텍스트로 출력하는 Html.Raw

  12. 12

    회귀 출력 (51 출력)으로 tensorflow에서 큰 numpy 배열 처리

  13. 13

    자바 스크립트로 배열 출력

  14. 14

    Perl : 텍스트 출력을 해시 배열로 구문 분석

  15. 15

    C ++ 텍스트 파일 데이터를 char 배열로 출력

  16. 16

    출력을 html로 표시

  17. 17

    PHP로 HTML 입력 추출

  18. 18

    MSSQL 트리거-파일로 출력 (XML)

  19. 19

    양식 선택 쿼리 출력-배열

  20. 20

    자바 스크립트의 JSON 출력을 HTML로

  21. 21

    Python 출력을 텍스트 파일 및 html로 전달

  22. 22

    C # 컨트롤러에서 Angular로 HTML 출력

  23. 23

    배열 자바 스크립트 출력

  24. 24

    HTML / CSS로 PHP 배열 POST 출력 스타일 지정 (예쁘게 만들기)

  25. 25

    jq로 JSON 처리-배열 인덱스 / 이름을 출력으로 처리

  26. 26

    html로 출력 할 때 jupyter 노트북 / 실험실 셀 너비를 늘리는 방법

  27. 27

    HTML 양식을 연관 배열로 PHP 스크립트에 제출

  28. 28

    response.redirect 트리거 전에 HTML 출력 일시 중지

  29. 29

    PHP 병합 배열 및 출력을 도트 포인트로 표시

뜨겁다태그

보관