php 논리연산자 관련 질문이있습니다! 채택완료

tl_qa이 아니거나 , tl_notice01이 아니면~ 서브탑을 호출해라~ 이런걸 하고싶은데요

 

<?php if ($board['bo_table'] != 'tl_qa' || $board['bo_table'] != 'tl_notice01'){ ?>

이렇게 했는데 .. 앞에 부분만 먹히네요~?? (tl_qa)만 

다른 방법이 있나용..?

&&로 바꾸니까 되긴 하는데.. 이해가 되지를않네여 ㅠ

 

Copy
<?php if ($board['bo_table'] != 'tl_qa' || $board['bo_table'] != 'tl_notice01'){ ?>

  <div class="sub_visual <?php echo $hb_bg_class ?>">

    <?php if ($is_admin && $bo_table) { ?>

    <button type="button" id="btn-mng-head" style="">헤더 관리</button>

    <?php } ?>

    <div class="title_wrap">

      <div class="title">

        <h3 class="animated ani-start-fadeUp ani-delay-03"><?php echo get_text($hb_title); ?></h3>

        <p class="sub_title animated ani-start-fadeUp ani-delay-04"><?php echo get_text($hb_subtitle) ?></p>

      </div>

    </div>

    <p class="cover"></p>

    <p class="bg"></p>

  </div>

  <?php } ?>

답변 2개

채택된 답변
+20 포인트

if ($board['bo_table'] != 'tl_qa' || $board['bo_table'] != 'tl_notice01')

이 문법 자체가

bo_table이 tl_qa가 아니라면 tl_notice01 라도 실행이 됩니다.

둘중에 한가지만 만족해도 참으로 결과가 나오니까요

지금 같이 그런 경우에는

&&로 하셔야합니다.

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

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

Copy
$board[bo_table] != tl_qa | $board[bo_table] != tl_notice01

이렇게 하면 두가지 다 검사를 하겠지만

결과적으로 봤을때는  && 이 맞는 조건 검사죠

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

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

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

로그인
🐛 버그신고