2011-02-07 52 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 ...: - ?