Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在相同或不同的条件下检查php值_Php - Fatal编程技术网

如何在相同或不同的条件下检查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";
}