Php ';如果';情况出错
在这里,我正在检查条件ifPhp ';如果';情况出错,php,Php,在这里,我正在检查条件if$type=“register”,然后它不应该像下面那样进入条件if,但它出错了 这里我传递的是$type=“register”,但它将进入if状态并回显1 if((isset($type)) && (($type != "register") || ($type != "document_approved") || ($type != "document_rejection"))) { echo 1; } else { echo 2;
$type=“register”
,然后它不应该像下面那样进入条件if,但它出错了
这里我传递的是$type=“register”
,但它将进入if
状态并回显1
if((isset($type)) && (($type != "register") || ($type != "document_approved") || ($type != "document_rejection")))
{
echo 1;
}
else
{
echo 2;
}
但如果我检查如下条件,则它工作正常,并发出回声2
if((isset($type)) && ($type != "register"))
{
echo 1;
}
else
{
echo 2;
}
我做错什么了吗?谢谢。逻辑如下
False(等于寄存器)
True(不等于已批准的文档)
这张支票不会再多了
看看你在用什么!在数组($value、[register、document\u approved等])中,逻辑如下
False(等于寄存器)
True(不等于已批准的文档)
这张支票不会再多了
看看你在用什么!在数组中($value、[register、document\u approved等])如果条件包含
(($type != "register") || ($type != "document_approved") || ($type != "document_rejection"))
当至少有一个条件匹配时,这将计算为true
由于
$type='register'
,所以$type!=“document_approved”(文档已批准)
评估为true,如果条件包含,则打印1
(($type != "register") || ($type != "document_approved") || ($type != "document_rejection"))
当至少有一个条件匹配时,这将计算为true
由于$type='register'
,所以$type!=“document_approved”(文档已批准)
评估为true,并打印1
if((isset($type)){
if(($type != "register") || ($type != "document_approved") || ($type != "document_rejection"))
{
echo 1;
}else{
echo 2;
}
}
试着这样做:
if((isset($type)){
if(($type != "register") || ($type != "document_approved") || ($type != "document_rejection"))
{
echo 1;
}else{
echo 2;
}
}
试着这样,
if((isset($type))
{
if(($type != "register") && ($type != "document_approved") && ($type != "document_rejection"))
{
echo 1;
}
else
{
echo 2;
}
}
试着这样,
if((isset($type))
{
if(($type != "register") && ($type != "document_approved") && ($type != "document_rejection"))
{
echo 1;
}
else
{
echo 2;
}
}
好的,这个条件
($type!=“document_approved”)
是真的,使得整个条件都是真的,所以…将|
更改为&
您正在检查的值是不是“x”还是“y”。这永远是事实。不可能两者都有,你什么意思?您的情况是a&(b|c|d)
c
是真的(因为$type
是“注册”的,所以它不是“批准的文件”),而d
也是真的,使条件为真&&(false | true | true)
,也就是说为真&&true
,这是为真的
@FedericoklezCulloca:oh,我明白你的意思了。谢谢。这个条件($type!=“document_approved”)
为真,使整个条件为真,因此…将|
更改为&&
您正在检查的值是不是“x”还是“y”。这永远是事实。不可能两者都有,你什么意思?您的情况是a&(b|c|d)
c
是真的(因为$type
是“注册”的,所以它不是“批准的文件”),而d
也是真的,使条件为真&&(false | true | true)
,也就是说为真&&true
,这是为真的
@FedericoklezCulloca:oh,我明白你的意思了。谢谢。这将与OP的版本具有完全相同的效果。这将与OP的版本具有完全相同的效果。