2011-02-07 83 views
0
$post->post_parent == '9,160' 

這隻對「9」而不是「160」返回正確,這是多少ID的正確語法是什麼?簡單的PHP語法問題

+0

另外,請記住,如果你想檢查NUMBER 9而不是數字AND字符串「9」,那麼你需要使用`===`而不是`==`。 – Xeoncross 2011-02-07 17:16:39

回答

3

使用in_array()

if (in_array($post->post_parent, array(9, 160, ...))) { ... } 
+0

謝謝!最直接的答案,而不用改變大量的PHP,我正在包裝這一小段代碼! – Brian 2011-02-07 17:27:17

1

你想

$post->post_parent == '9' || $post->post_parent == '160' 

(指定字符串中的浮點數,可能會被轉換比較爲int 9時爲int,所以它是更多的是它爲你的9觸發的「bug」,而不是它爲160而沒有的「bug」。)

+0

在這裏列出的三種方法中,即使您需要鍵入更多的代碼,這個方法也是最快的。 – Xeoncross 2011-02-07 17:15:42

2
$ids = explode(',', '9,160'); 
if(in_array($post->post_parent, $ids)){ 
    // ... 
} 

...除非你想混合PHP和SQL ...: - ?