如何在相同或不同的条件下检查php值
我想解决这个小问题:如何在相同或不同的条件下检查php值,php,Php,我想解决这个小问题: if($risque >= '1' && $lang !== 'fr' && ($country !== 'Spain' || 'France')) $msg_error = 'error'; 我的目标是检查risque是否等于或优于1,如果lang与fr不同,和如果国家与西班牙或法国不同 因此,如果risque为0,则没有msg_错误,如果risque为1且lang=fr,但国家为比利时,则显示msg_错误 我不确定
if($risque >= '1' && $lang !== 'fr' && ($country !== 'Spain' || 'France'))
$msg_error = 'error';
我的目标是检查risque是否等于或优于1,如果lang与fr不同,和如果国家与西班牙或法国不同
因此,如果risque为0,则没有msg_错误,如果risque为1且lang=fr,但国家为比利时,则显示msg_错误
我不确定优先级和代码!==和分离器
谢谢您需要重复对
$country
的评估,您需要&
,因为如果第一个条件失败,那么|
将不会被评估:
if($risque >= 1 && $lang !== 'fr' && ($country !== 'Spain' && $country !== 'France')) {
$msg_error = 'error';
}
试试这个:
if($risque >= '1' && $lang !== 'fr' && (!in_array($country,array('Spain','France')))
使用将解决检查多个值的问题。您的if语句应按以下方式编写:
if( $risque >= '1'
&& $lang !== 'fr'
&& $country !== 'Spain'
&& $country !== 'France' )
{
// Code
}
if($risque >= 1 && $lang != "fr" && $country != "Spain" && $country != "France")
$msg_error = "error";
比较整数值(以$risque为单位)时,请始终删除“”,因为“””指的是字符串/字符,而不是整数值。我想这应该可以:
if($risque >= 1 && $lang == 'fr' && ($country != 'Spain' || $country != 'France')){
$msg_error = "error";
}
请注意,我从$risque中删除了“'”,并使用==比较$lang,如果
$country
是“France”,则|
的第一部分为true,因此第二个检查不会进行计算。对于$country='France'
这在PHP中不起作用:$country!='西班牙| |法国
。请参见Abracadver的答案。注意:此处不需要在国家比较周围加括号。同意,但留作视觉分组。将失败于$country='France'
我不知道在这种情况下如何失败。是的,现在我知道原因了。我的错+我本想补充我的答案,但你抢先了我一步。
if($risque >= 1 && $lang == 'fr' && ($country != 'Spain' || $country != 'France')){
$msg_error = "error";
}