Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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_If Statement - Fatal编程技术网

Php 如果是这个或那个,怎么办?

Php 如果是这个或那个,怎么办?,php,if-statement,Php,If Statement,我需要你帮我弄清楚如何让它工作。它基本上检查第一个条件和其中一个(第二个或第三个条件)是否为真 IF ( ($a=1) && ($b=2 || $c=3) ) { echo "match found"; }; 您使用的是赋值运算符(=),而不是比较运算符(=) 以下是一些有关运算符的PHP文档的链接: 您使用的是赋值运算符(=),而不是比较运算符(=) 下面是一些有关运算符的PHP文档的链接:您需要使用正确的运算符。目前,您正在将所有变量分别设置为1、2、3。这会使每个

我需要你帮我弄清楚如何让它工作。它基本上检查第一个条件和其中一个(第二个或第三个条件)是否为真

IF ( ($a=1) && ($b=2 || $c=3)  ) {
   echo "match found";
};
您使用的是赋值运算符(
=
),而不是比较运算符(
=

以下是一些有关运算符的PHP文档的链接:

您使用的是赋值运算符(
=
),而不是比较运算符(
=


下面是一些有关运算符的PHP文档的链接:

您需要使用正确的运算符。目前,您正在将所有变量分别设置为1、2、3。这会使每个语句的计算结果始终为true


正确的比较运算符是
==

您需要使用正确的运算符。目前,您正在将所有变量分别设置为1、2、3。这会使每个语句的计算结果始终为true


正确的comparison运算符是
==

我看到的问题是您在IF语句中分配变量

    IF ( ($a==1) && ($b==2 || $c==3)  ) { 

可能会更好

我看到的问题是您在IF语句中分配变量

    IF ( ($a==1) && ($b==2 || $c==3)  ) { 

可能效果更好

在尝试查看a、b和c是否分别等于1、2和3时,应该使用双等号(比较运算符)

if(($a==1) && ($b==2 || $c==3))
{
    echo "match found";
}

此外,为了使用正确的语法,最好用小写字母书写IF,并删除IF语句末尾的分号。

在尝试查看a、b和c是否分别等于1、2和3时,应该使用双等号(比较运算符)

if(($a==1) && ($b==2 || $c==3))
{
    echo "match found";
}
if (1 === $a && (2 === $b || 3 === $c)) {
    echo 'Match found';
}
此外,为了使用正确的语法,最好用小写字母编写IF,并删除IF语句末尾的分号

if (1 === $a && (2 === $b || 3 === $c)) {
    echo 'Match found';
}
我为什么这样写呢?

根据值检查变量时,将值放在第一位:

  • 使浏览代码更容易(有争议)
  • 如果您不小心使用了
    =
    而不是
    =
    ==
  • 更新:要了解
    =
    ==
    运算符之间的区别,请访问

    我为什么这样写呢?

    根据值检查变量时,将值放在第一位:

  • 使浏览代码更容易(有争议)
  • 如果您不小心使用了
    =
    而不是
    =
    ==

  • 更新:要了解
    ==
    ==
    运算符之间的区别,请转到,而大写的IF和零散的分号都是不好的样式,都不会导致实际的功能问题。所以你是说最好不要让他知道?老实说,我不明白为什么这个答案值得投两张反对票……值得一提的是,但只有在解释了更重要的函数问题之后:混淆赋值运算符和比较运算符。我理解半列我自己不喜欢它,但如果它对我来说更突出,为什么不大写呢?因为capitalI相信在大多数C类语言中,只有小写的
    ,如果
    是有效的。PHP是一个例外,它在区分大小写方面比它的大多数兄弟版本宽松得多。这就是为什么许多程序员(他们通常有多种类似C语言的经验)会喜欢使用小写关键字,如
    if
    。虽然大写的if和零散的分号都是不好的样式,但都不会导致实际的功能问题。所以你是说最好不要让他知道?老实说,我不明白为什么这个答案值得投两张反对票……值得一提的是,但只有在解释了更重要的函数问题之后:混淆赋值运算符和比较运算符。我理解半列我自己不喜欢它,但如果它对我来说更突出,为什么不大写呢?因为capitalI相信在大多数C类语言中,只有小写的
    ,如果
    是有效的。PHP是一个例外,它在区分大小写方面比它的大多数兄弟版本宽松得多。这就是为什么许多程序员(通常有多种类似C语言的经验)会倾向于使用小写关键字,如
    if
    +1来表示“yoda条件”,但使用
    ==
    可能需要一些解释——如果$a$b或$C包含字符串值,
    =
    可能更合适。@Frank Ha,“yoda条件”。以前从没听他们这么叫过。喜欢我做的,如果你真的很注重清晰性,那么为什么不把它写成((1===$a)和((2==$b)| |(3==$c))?在凌晨3点读代码时它会有帮助。@gabriel…因为这有点过分了。在所有东西周围加括号并不能使代码更清晰。即使在凌晨3点,+1表示“尤达条件”,但使用
    ==
    可能需要一些解释——如果$a$b或$c包含字符串值,
    ==
    可能更合适。@Frank Ha,“yoda条件”。以前从未听过他们这样称呼。就像我所做的那样,如果你真的非常注重清晰度,那么为什么不把它写成((1==$a)和((2==$b)| |(3=$c))?在凌晨3点阅读代码时会有帮助。@gabriel…因为这有点过分。在所有东西周围加括号并不能使代码更清晰。即使是在凌晨3点。