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개
채택된 답변
+20 포인트
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년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
바로위에 초기화 해놓고는 ㅎㅎ
다음줄에서 잊었네요 감사합니다.