테스트 사이트 - 개발 중인 베타 버전입니다

foreach 질문입니다.. 채택완료

humanb2box 7년 전 조회 1,600

</p>

<p>    $lets_array = array("0601"=>"헬로우","0603"=>"모바일","0401"=>"트러스트","0602"=>"악세사리","0402"=>"패치");

    $lets_where = "/bbs/board.php"; </p>

<p><div class="lets__common__btns">

        <ul class="lets__common__ul">

        <?php

           foreach($lets_array as $href => $lets_value) {

               $lets_active = "";

               if ($active_title == strip_tags($lets_value) ){

                       $lets_active = "content__active";

               }

               if ($href == "0401" || $href == "0402" ){

               $lets_where = "/bbs/write.php"; 

               }

         ?>

            <li class="lets__common__li <?php echo $lets_active;?>">

                <a href="<?php echo $lets_where;?><?php echo $parameter;?>=<?php echo $href?>" class="lets__common__click bold"><?php echo $lets_value?></a>

            </li>

        <?php } ?>

        </ul>

    </div></p>

<p> </p>

<p>

 

 

위와 같은 코드가 있습니다.

 

배열을 이용해 메뉴를 만들고 있는데요..

 

기본은 board.php 즉 리스트 페이지인데

 

0401, 0402 이 두놈만 write.php로 가야합니다..

 

그래서

 

</p>

<p>  foreach($lets_array as $href => $lets_value) {

               $lets_active = "";

               if ($active_title == strip_tags($lets_value) ){

                       $lets_active = "content__active";

               }

               if ($href == "0401" || $href == "0402" ){

               $lets_where = "/bbs/write.php"; 

               }</p>

<p>

 

이렇게 조건문을 걸었더니..........

0401 부터는 모두 write.php로 나오네요.. 제말이 이해가 되시나요????????

 

메뉴1 메뉴1 메뉴1 메뉴1 메뉴1

 

이렇게 나오길 바랬는데

메뉴1 메뉴1 메뉴1 메뉴1 메뉴1

 

이렇게 나옵니다...

 

어디를 손봐야할까요,,

 

제가 놓친게 무엇일까요..

 

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

답변 1개

채택된 답변
+20 포인트
Policia
7년 전

$lets_where 변수에 계속 저장되어 돌아가기 때문입니다

 

$lets_where = "/bbs/write.php"; 가 한번 실행됨으로인해

 

$lets_where = "/bbs/write.php"; 가 다음 구문에서도 영향을 미쳐서

 

0603이라도 $lets_where의 변수값이 write.php로 선언이 되어버렸기때문에 입니다

 

foreach문에 초기화를 한번 넣어주세요 

 

$lets_where = "/bbs/board.php"; 를 반복구문 시작할때 선언하고 하면 되겠죠?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
humanb2box
7년 전
감사합니다.

바로위에 초기화 해놓고는 ㅎㅎ

다음줄에서 잊었네요 감사합니다.

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

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

로그인