PHP - 是运营商订单LTR还是RTL?

时间:2014-09-23 13:45:04

标签: php operators

如果我有条件陈述

if (A > B || B > C)

首先评估哪个陈述:“A> B”或“B> C”?
是否将相同的顺序应用于数学语句:

$var = $value1 + $value2 + $value3;



谢谢, 亚历克斯。

1 个答案:

答案 0 :(得分:1)

在PHP中,除非使用括号,否则将从左到右计算脚本,如果使用括号,则按逻辑顺序使用它。另外请记住,if条件块(包括评估程序)中的代码没有超过第一个失败的语句。此示例仅执行第二个回声$ a,它的值将为0

$a = 0;

if(1 == 0 && $a = 5)
{
    echo $a;
}
echo $a;

此语句的$值为5,将执行该语句。有趣的是,代码执行的原因是因为if a中的$ a = 5赋值$ a = 5或" 5 = 5"。

if(1 == 1 && $a = 5)
{
    echo $a;
}

另请注意,如果你还没有调查,还有其他if语句

$a =2
if($a == 2)
{

}
else if($a > 2){
  echo ">".$a;
}
else{
   echo "its none of the conditions";
}

使用两个等号的原因是比较值类型不敏感和一个等于赋值的值。还有三个等于比较类型和值的例子。这将评估为真:

$a = 2;
if($a == "2")

以下情况不正确,因为您正在将字符串与整数进行比较。

$a = 2;
if($a === "2")

关于第二个问题,String运算符也是如此,但语法是INVALID。

这个例子会说Hellow World:

echo "hellow"."world";

这个例子没有做连接(虽然如果它们是整数就会做加法)

echo "hellow" + "world";