2015-05-04 76 views
-3

Im包括一個html塊,並且包含一些基於if語句的echo語句。如果我使用爲什麼如果statings失敗並帶有兩個參數

<? 
    if($rows['business_type'] !== "Hotel" || "Bed & Breakfast") 
    { 
?> 


    <div id="mini_titles"><h2>Opening times</h2></div> 

    <div id="complete_info_wrapper"> 
      <div id="complete_info_title"><p>Monday</p></div> 
      <div id="complete_info_details_opening"> 
       <p> 
<?php echo $rows1['opening_monday_from']; ?> - 
<?php echo $rows1['opening_monday_to']; ?> 
       </p> 
      </div> 
    </div> 
    <div id="complete_info_wrapper"> 
     <div id="complete_info_title"><p>Tuesday</p></div> 
     <div id="complete_info_details_opening"> 
      <p> 
<?php echo $rows1['opening_tuesday_from']; ?> - 
<?php echo $rows1['opening_tuesday_to']; ?> 
      </p> 
     </div> 
     </div> 

     <div id="complete_info_wrapper"> 
      <div id="complete_info_title"><p>Wednesday</p></div> 
      <div id="complete_info_details_opening"> 
       <p> 
<?php echo $rows1['opening_wednesday_from']; ?> - 
<?php echo $rows1['opening_wednesday_to']; ?> 
       </p> 
      </div> 
     </div> 

     <div id="complete_info_wrapper"> 
      <div id="complete_info_title"><p>Thursday</p></div> 
      <div id="complete_info_details_opening"> 
       <p> 
<?php echo $rows1['opening_thursday_from']; ?> - 
<?php echo $rows1['opening_thursday_to']; ?> 
       </p> 
      </div> 
     </div> 

     <div id="complete_info_wrapper"> 
      <div id="complete_info_title"><p>Friday</p></div> 
      <div id="complete_info_details_opening"> 
       <p> 
<?php echo $rows1['opening_friday_from']; ?> - 
<?php echo $rows1['opening_friday_to']; ?> 
       </p> 
      </div> 
     </div> 

     <div id="complete_info_wrapper"> 
      <div id="complete_info_title"><p>Saturday</p></div> 
      <div id="complete_info_details_opening"> 
       <p> 
<?php echo $rows1['opening_saturday_from']; ?> - 
<?php echo $rows1['opening_saturday_to']; ?> 
       </p> 
      </div> 
     </div> 

     <div id="complete_info_wrapper"> 
      <div id="complete_info_title"><p>Sunday</p></div> 
      <div id="complete_info_details_opening"> 
       <p> 
<?php echo $rows1['opening_sunday_from']; ?> - 
<?php echo $rows1['opening_monday_to']; ?> 
       </p> 
      </div> 
     </div> 
<?php 
    } 

?> 

的,如果statment工作只有一個,即:

if($rows['business_type'] !== "Hotel"){} 

但只要我添加||or&&,或and它失敗,無論顯示第二。

我確定它有些愚蠢和簡單的即時通訊丟失。

請幫助,謝謝。

+2

你不是比較'「牀和早餐」'任何東西。 – chris85

+0

if($ rows ['business_type']!==「Hotel」|| $ rows ['business_type']!==「Bed&Breakfast」)' –

+0

if($ rows ['business_type']!==「如果($行['business_type']!= || $ rows ['business_type']!=「Bed&Breakfast」) –

回答

4

在,如果如果條件$rows['business_type'] !== "Hotel"爲真,那麼條件將永遠是正確的。因爲if ("Bed & Breakfast")true。所以true || true將是true

它應該是 -

if($rows['business_type'] !== "Hotel" || $rows['business_type'] != "Bed & Breakfast") 

或者你也可以做到 -

if (!in_array($rows['business_type'], array("Hotel", "Bed & Breakfast"))) 
+0

爲什麼downvote? –

+0

謝謝。陣列效果很好:) –

0

嘗試:

if($rows['business_type'] !== "Hotel" || $rows['business_type'] !== "Bed & Breakfast") 
0

它,因爲它有一些錯字:

變化

<? 
if($rows['business_type'] !== "Hotel" || "Bed & Breakfast") 
// This //statement will always return true, because even if first condition 
// satisfies or not, 'Bed & Breakfast' will always return true (it is a 
//string which is not empty. 
{ 
?> 
// TRUE || TRUE --> TRUE 
// FALSE || TRUE --> TRUE 
// TRUE || FALSE --> TRUE 
// FALSE || FALSE --> FALSE 

<? 
if($rows['business_type'] !== "Hotel" || $rows['business_type'] !== "Bed & Breakfast") // PUT YOUR CONDITION CORRECTLY. 
{ 
?> 
0

通過這種方式無法與兩個值進行比較。使用in_array

if (!in_array($rows['business_type'], array("Hotel", "Bed & Breakfast"))) {...} 

或者usign ||

if ($rows['business_type'] !== "Hotel" || $rows['business_type'] !== "Bed & Breakfast") {...} 
0

「牀&早餐」 是一個字符串不是一個比較,它總是返回true。所以x or true總是等於true。這是你的if語句的問題。如你預期 這可能會實現:

if($rows['business_type'] !== "Hotel" || $rows['business_type'] !== "Bed & Breakfast") 
0

嘗試陣列方法

if (in_array(array('Hotel', 'Bed'), $rows['business_type'])) { 
    echo "'Bed' was found\n"; 
} 
相關問題