채택완료

베이직 테마 head.php 파일 안의 메뉴 소스인데....

<li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
    <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
    <?php
    $k = 0;
    foreach( (array) $row['sub'] as $row2 ){

        if( empty($row2) ) continue; 

        if($k == 0)
            echo '<span class="bg">하위분류</span><ul class="gnb_2dul">'.PHP_EOL;
    ?>
        <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>
    <?php
    $k++;
    }   //end foreach $row2

    if($k > 0)
        echo '</ul>'.PHP_EOL;
    ?>
</li>

 

왜 위에서는 ul 여는 태그를 k == 0부터 출력시키면서,

아래 닫는 태그는 0보다 클 때부터 출력시키는 건가요?

|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

중간에보시면

<?php
    $k++;
    }   //end foreach $row2

    if($k > 0)
        echo '</ul>'.PHP_EOL;
    ?>

라고 되어있는부분은

$k++ 하는 순간

$k 값은 이미 1이상으로 증가됩니다.

따라서 ul을 닫기위해서 0으로 하면 실행되지 않아서 

안닫히겠죠

참고로 저 </ul>은

<li>안의

foreach 에서 열려진 <ul>에 대한 닫힘입니다.

답변에 대한 댓글 2개

아하 이제 이해했습니다. ^^ 쉽게 설명해주셔서 감사합니다.
근데, 갑자기 궁금한 게요...
왜, ul 닫는 태그를 출력시키기 전에 먼저 k를 증가시켜 놓는 건가요?
일단은 0으로 시작했으면 0에 해당한 거 다 종료시킨 후 k 증가시킬 것 같은데...

새 질문글로 등록했어용. ^^; https://sir.kr/qa/260042

답변을 작성하려면 로그인이 필요합니다.