if或声明无法正常工作

时间:2013-11-26 16:44:09

标签: php

我遇到了if语句的问题。 这是if语句:

if($userID != $_SESSION["sess_id"] || $creator != $_SESSION["sess_id"]){

echo "Success";
exit;

}

这是变量的值:

$userID = 24;
$creator = 13;
$_SESSION["sess_id"] = 13;

简而言之:

if(24 != 13 || 13 != 13){

echo "Success";
exit;

}

为什么成功仍在显示?

请注意,这只是我的代码的缩短版本,没有一个变量设置如此,但值是正确的。

4 个答案:

答案 0 :(得分:5)

因为24 != 13仍然是真的。对于OR,其中一方是真的就足够了。

if (true || false) //true
if (true && false) //false
if (false || false) //false
if (false && false) //false

答案 1 :(得分:1)

因为你使用的是||OR而且只需要一个陈述是真的,在你的情况下24 != 13是真的

答案 2 :(得分:1)

因为您使用“||”。这是一个“或”。 你必须使用“&&” (和)。

if($userID != $_SESSION["sess_id"] && $creator != $_SESSION["sess_id"]){

答案 3 :(得分:0)

表达式$userID != $_SESSION["sess_id"] - >满足24 != 13(TRUE)以便它进入条件,您已使用OR条件,任何一个条件true块都被执行。