dshxbrzgi090608692 2014-09-23 13:45
浏览 20

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

If I have a conditional statement

if (A > B || B > C)

Which statement is going to be evaluated first: "A > B" or "B > C"?
Does same order is applied to math statements:

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



Thanks, Alex.

  • 写回答

1条回答 默认 最新

  • dongsong8932 2014-09-23 13:59
    关注

    In PHP the script is evaluated from left to right unless parenthesis are used, if they are used it evalutes then in logical order. In addition please remember that no code in the if condition block(including evaluators) are ran past the first failing statement. This example will only execute the second echo $a and it's value will be 0

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

    This statement will have $a value of 5 and will execute the statement. Interestingly, the reason that the code will execute is because the $a = 5 assignment in the if sets $a = 5 or " 5 = 5".

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

    Also note there are else and else if statements if you have not looked into it

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

    The reason that you use two equals signs is to compare the value type insensitive vs one equal which would be assigning the value. There is also three equals which would compare the type and value example This would evaluate to true :

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

    The following would not be true because you are comparing a String to integer.

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

    Regarding your second questions the same is true of String operators but your syntax is INVALID.

    This Example Would say Hellow World:

    echo "hellow"."world";
    

    This Example IS NOT DOING CONCATENATION(Though it would do addition if they are integers)

    echo "hellow" + "world"; 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型