foreach 질문입니다..
본문
$lets_array = array("0601"=>"헬로우","0603"=>"모바일","0401"=>"트러스트","0602"=>"악세사리","0402"=>"패치");
$lets_where = "/bbs/board.php";
<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>
위와 같은 코드가 있습니다.
배열을 이용해 메뉴를 만들고 있는데요..
기본은 board.php 즉 리스트 페이지인데
0401, 0402 이 두놈만 write.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";
}
이렇게 조건문을 걸었더니..........
0401 부터는 모두 write.php로 나오네요.. 제말이 이해가 되시나요????????
<a href="board.php?bo_table=0601">메뉴1</a>
<a href="board.php?bo_table=0602">메뉴1</a>
<a href="write.php?bo_table=0401">메뉴1</a>
<a href="board.php?bo_table=0603">메뉴1</a>
<a href="write.php?bo_table=0402">메뉴1</a>
이렇게 나오길 바랬는데
<a href="board.php?bo_table=0601">메뉴1</a>
<a href="board.php?bo_table=0602">메뉴1</a>
<a href="write.php?bo_table=0401">메뉴1</a>
<a href="write.php?bo_table=0603">메뉴1</a>
<a href="write.php?bo_table=0402">메뉴1</a>
이렇게 나옵니다...
어디를 손봐야할까요,,
제가 놓친게 무엇일까요..
!-->!-->
답변 1
$lets_where 변수에 계속 저장되어 돌아가기 때문입니다
$lets_where = "/bbs/write.php"; 가 한번 실행됨으로인해
$lets_where = "/bbs/write.php"; 가 다음 구문에서도 영향을 미쳐서
0603이라도 $lets_where의 변수값이 write.php로 선언이 되어버렸기때문에 입니다
foreach문에 초기화를 한번 넣어주세요
$lets_where = "/bbs/board.php"; 를 반복구문 시작할때 선언하고 하면 되겠죠?