2013-03-12 123 views
0

我試圖做一個條件,如果是檢查一個變量$ CAT_ID的值是否不等於或那麼就應該聲明回聲我的$ priceToShow變量。PHP不等於或其他不等於

PHP

if(($cat_id != '19') || ($cat_id !='26')){ 
    echo $priceToShow; 
} 
+0

所以。問題是什麼? – 2013-03-12 12:48:12

+0

什麼不工作? – 2013-03-12 12:48:27

+0

問題在哪裏?你看起來不錯。 – 2013-03-12 12:48:42

回答

12

如果能既不是19也不是26,使用並聲明:如果你有很多值的檢查

if(($cat_ID != '19') && ($cat_id !='26')){ 
    echo $priceToShow; 
} 

,使用in_array

$bad_values = array(19, 26, 54); 
if (!in_array($cat_ID, $bad_values)) { 
    echo $priceToShow; 
} 

(在這種情況下,嚴格的比較是關閉的;你應該總是投你的數據,它有望成爲類型,然後使用嚴格的比較:

$bad_values = array(19, 26, 54); 
if (!in_array(intval($cat_ID), $bad_values, true)) { 
    echo $priceToShow; 
} 

+1

變量名也是區分大小寫的:) – splash21 2013-03-12 12:52:19

+0

@ splash21噢,它們是。 – 2013-03-12 12:53:13

0

這可能是更好地使用!in_array()。這將使它更快,更簡單的添加,如果需要

if (!in_array($cat_id, array('19', '26'))) 
{ 
    echo $priceToShow; 
} 
5

時/ remove這將始終返回true

您需要使用的AND結合

超過2個值的使用! in_array()

編輯:絕對正確@Waygood

if (! ($v == 19 || $v == 26)) { 
    // do your thing 
} 
+2

demorgans theorum:否定並改變運算符= OR =!= AND例如19或26 - >!= 19 AND!= 26 http://www.allaboutcircuits.com/vol_4/chpt_7/8.html – Waygood 2013-03-12 12:55:24