我的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;
}
为什么成功还在显现?
请注意,这只是我代码的缩短版本,没有一个变量是这样设置的,但值是正确的
因为24 != 13
仍然为真。对于CCD_ 2,只要其中一条边为真就足够了。
if (true || false) //true
if (true && false) //false
if (false || false) //false
if (false && false) //false
因为您使用的是||OR
,只需要一个语句为true,而在您的情况下,24 != 13
为true
因为您使用了"||"。这是一个"或"。您必须使用"&&"(和)。
if($userID != $_SESSION["sess_id"] && $creator != $_SESSION["sess_id"]){
满足表达式$userID != $_SESSION["sess_id"]
->24 != 13
(TRUE),使其传递到条件中,您使用了OR
条件,执行任何一个条件true
块。