由于一些奇怪的原因,我不能在我的生活中调试这个.. $ this-> input-> post('post_page')= 10 ....我回显变量,它确实在屏幕上打印10。 当它应该是真的时,它会一直返回false。 所以...有人可以帮我解决这个问题吗?我尝试在每个检查周围放置单个括号并更改||或者......仍然没有。
尽管如此,这是我的代码:
if($this->input->post('post_page') <> 10
|| $this->input->post('post_page') <> 25
|| $this->input->post('post_page') <> 50
|| $this->input->post('post_page') <> 75) {
return false;
}
答案 0 :(得分:5)
&LT;&GT;相当于NOT EQUAL。
10不等于25因此它将进入if语句并返回false;
事实上,它总是会输入if语句而不管数字
你可以这样做:
if($this->input->post('post_page') <> 10
&& $this->input->post('post_page') <> 25
&& $this->input->post('post_page') <> 50
&& $this->input->post('post_page') <> 75) {
return false;
}
在伪代码中:
IF
MY NUMBER IS NOT 10
AND IT IS NOT 25
AND IT IS NOT 50
AND IT IS NOT 75
RETURN FALSE
甚至更好:
$allowedNumbers = array(10,25,50,75);
if(!in_array($this->input->post('post_page'), $allowedNumbers)) {
return false;
}
也更容易将新项目添加到列表中。您添加到数组的任何数字都不会返回false。
这个的PSEUDO代码:
ALLOWED NUMBERS ARE 10,25,50,75
IF(MYNUMBER IS NOT IN THE LIST OF ALLOWED NUMBERS)
RETURN FALSE
答案 1 :(得分:1)
我认为你应该使用
if(!($this->input->post('post_page') == 10
|| $this->input->post('post_page') == 25
|| $this->input->post('post_page') == 50
|| $this->input->post('post_page') == 75)) {
return false;
}
答案 2 :(得分:0)
以布尔值翻译: 虚假或真实,真实或真实。 表达式为true,因此返回false。
答案 3 :(得分:0)
( #
(A is not B) # IS ALWAYS TRUE
OR (A is not C) # --------------------------
OR (A is not D) # Unless 2 conditions (AND):
OR (A is not E) # . A is not B
) # . B = C = D = E
所以是的,在你的情况下,这总是假的,对不起你。