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点。