Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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 if逻辑_Php_Logic - Fatal编程技术网

多语句的基本PHP if逻辑

多语句的基本PHP if逻辑,php,logic,Php,Logic,仅在以下情况下,我希望在页面中包含addtohomescreen.php: $ua!='sattamatka.pro'->正确 $ua!='sattamatka.android'->正确 stripos$ua,'android'==true->true 注:对于条件1和2,如果其中一个为真,则另一个自动变为假 我使用以下逻辑: <?php if($ua !== 'sattamatka.pro' || $ua !== 'sattamatka.android' && str

仅在以下情况下,我希望在页面中包含addtohomescreen.php:

$ua!='sattamatka.pro'->正确 $ua!='sattamatka.android'->正确 stripos$ua,'android'==true->true 注:对于条件1和2,如果其中一个为真,则另一个自动变为假

我使用以下逻辑:

<?php
if($ua !== 'sattamatka.pro' 
|| $ua !== 'sattamatka.android' 
&& stripos($ua,'android') == true) {
include "addtohomescreen.php";
}
?>

注:我希望所有这些都是真的。但是如果我用&&代替| |这两个语句-$ua!='sattamatka.pro'和$ua!='sattamatka.android'变为false,addtohomescreen.php包含在$ua中

编辑:$ua的可能值为:

sattamatka.pro sattamatka.android mozilla/5.0linux;U安卓6.0.1;恩美;redmi note 3 build/mmb29m applewebkit/534.30 khtml,如gecko版本/4.0 ucbrowser/11.2.5.932 u3/0.8.0 mobile safari/534.30 更新:问题是$ua='sattamatka.pro'和$ua='sattamatka.android'如果$ua!='sattamatka.pro'&&ua!='sattamatka.android'&&stripos$ua,'android'==true返回false。通过添加到$ua!='sattamatka.pro'| |$ua!='android&现在代码按预期工作。我不需要更多的建议。谢谢您的时间。

如果您希望所有条件都变为真,您需要使用&


我通过在前两条语句中添加以下内容来解决问题:

    <?php
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    if(($ua !== 'sattamatka.pro' 
    || $ua !== 'sattamatka.android') 
    && stripos($ua,'android') == true) {
    include "addtohomescreen.php";
    }
    else {}
    ?>

工作得很有魅力

&&而不是| |?将| |替换为&&因此,如果条件1为真,条件2为真,条件3为真,您希望执行某些操作吗?那你为什么要使用or运算符?这就是问题所在。我希望所有这些都是真的。但是,如果我对$ua中的任何一个使用&&来代替| |,则该语句将变为false。您是否会为$ua提供值,以便克服混淆?它与上面已注释的内容有何不同?对于小的打字错误或更正,如果可以通过添加评论来获得答案,就不要添加答案。我希望所有答案都是真的。但是如果我用&&代替| |这两个语句-$ua!='sattamatka.pro'和$ua!='sattamatka.android'变为false,addtohomescreen.php包含在$ua中。您是否意识到上述语句与以下语句完全相同:如果stripos$ua,'android'==true?第一组将始终返回true,因为$ua始终不等于两个检查中的至少一个。@MagnusEriksson您没有得到它。让我用更简单的语言给你解释一下。如果$ua是sattamatka.pro或sattamatka.android,我不想包括addtohomescreen.php,但如果$ua包含单词android,我想包括它,因此前两个语句必须始终为真,如果不是,则其中一个变为假。你没有在听。第一张支票$ua!='sattamatka.pro'| |$ua!='“sattamatka.android”是无用的,因为该块总是返回true。无论$ua包含什么,它都不等于中的至少一个,因此将始终返回true。
    <?php
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    if(($ua !== 'sattamatka.pro' 
    || $ua !== 'sattamatka.android') 
    && stripos($ua,'android') == true) {
    include "addtohomescreen.php";
    }
    else {}
    ?>