json으로 메뉴만들기

json으로 메뉴만들기

QA

json으로 메뉴만들기

본문

json으로 nav를 만들어 보려고 했는데 쉽지가않아 질문합니다..

 

file.json


{
    "menu":{
        "LG소개":[
            {"비전":"/a1.html"},
            {"계열사":"/a2.html"},
            {"연혁":"/a3.html"}
        ],
        "INNOVATION":[
            {"INNOVATION":"/b1.html"}
        ],
        "홍보센터":[
            {"영상뉴스":"/c1.html"},
            {"인쇄광고":"/c2.html"},
            {"홍보영상":"/c3.html"},
            {"TV광고":"/c4.html"}
        ]
    }
}

 

위 json 으로 아래 html 구조를 만드려고 합니다.

 


<body>
    <?php
        $jsonFile = file_get_contents('file.json');
        $json = json_decode($jsonFile,true);
    ?>
    <ul>
        
        <li>
            <a href="/a1.html" class="subject">LG소개</a>
            <ul class="sub_mn">
                <li><a href="/a1.html">비전</a></li>
                <li><a href="/a2.html">계열사</a></li>
                <li><a href="/a3.html">연혁</a></li>
            </ul>
        </li>
        
        <li>
            <a href="/b1.html" class="subject">INNOVATION</a>
            <ul class="sub_mn">
                <li><a href="/b1.html">INNOVATION</a></li>
            </ul>
        </li>
        
        <li>
            <a href="/c1.html" class="subject">홍보센터</a>
            <ul class="sub_mn">
                <li><a href="/c1.html">영상뉴스</a></li>
                <li><a href="/c2.html">인쇄광고</a></li>
                <li><a href="/c3.html">홍보영상</a></li>
                <li><a href="/c4.html">TV광고</a></li>
            </ul>
        </li>
        <?php
            //ex
            foreach($json['menu'] as $key => $value ){
                echo '<li>...</li>';
            }
        ?>
    </ul>
</body>

 

.subject 의 href값은 [ .sub_mn li:first-child a ]의 href 값입니다.  << 여기서 잘 안되네요,,

 

foreach문안에 foreach문안에 foreach문(?) 넣다가 뭔가 아니다 싶어 질문합니다

도움부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1


echo "<ul>";
foreach($json['menu'] as $key => $value) {
    echo "<li><a href='".array_values($value[0])[0]."' class='subject'>".$key."</a><ul class='sub_mn'>";
    foreach($value as $k => $v) {
        echo "<li><a href='".array_values($v)[0]."'>".array_keys($v)[0]."</a></li>";
    }
    echo "</ul></li>";
}
echo "</ul>";

http://jjiniyam.cafe24.com/temp/wrid_267990.php

답변을 작성하시기 전에 로그인 해주세요.
전체 125,884 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT