zoukankan      html  css  js  c++  java
  • php:一个题目,关于优先级,及$a++和$a=$a+1,

    这几天常看到微博上转发的一条微博:就做了下,竟做错了,所以就试着分析了下~~

    这是微博:

    这是代码:

     1 <?php
     2 $c = 3;
     3 $b = 6;
     4 if ($c = 4 || $b = 4) {
     5     $c++;
     6     $b++;
     7 }
     8 echo $c . $b;
     9 echo "<hr />";
    10 /**
    11   答案为17
    12   这边赋值运算符优先级低于||,所以可以理解为if($c= (4 || $b=4)){}
    13  */
    14 $c = 3;
    15 $b = 6;
    16 if ($c = 4 or $b = 4) {
    17     $c++;
    18     $b++;
    19 }
    20 echo $c . $b; 
    21 echo "<hr />";
    22 /**
    23   答案为57
    24   这边赋值运算符优先级高于or,所以可以理解为if(($c= 4) ||($b=4)){}
    25  */
    26 $a = true;
    27 echo $a++;
    28 echo "<hr />";
    29 /**
    30   答案为1
    31   这边还不懂为何$a++,和$a=$a+1 两种表达为何输出答案不同
    32  */
    33 $a = true;
    34 echo $a = $a + 1;
    35 /**
    36   答案为2
    37   这边还不懂为何$a++,和$a=$a+1 两种表达为何输出答案不同
    38  */
    39 ?> 

    总结:1:能用括号尽量用,除非能保证语法不会出错,优先级 && 大于  || 大于 = 大于 and 大于 or

       2:用||时,如果第一个条件成立,剩下的条件的不用执行,用&&时第一个错误,剩下的条件不用执行

       3:$a=true 时,执行$a++时还是1,这个在条件判断时比较会碰到,必须要注意 

  • 相关阅读:
    [LeetCode] 55. Jump Game 跳跃游戏
    [LeetCode] 163. Missing Ranges 缺失区间
    [LeetCode] 228. Summary Ranges 总结区间
    获取当时时间和日期
    响应式布局设备分界点
    html5shiv.js分析-读源码之javascript系列
    建站模板开源代码
    js 调试问题
    transform使用参考指南
    浏览器版本过低
  • 原文地址:https://www.cnblogs.com/xxmb/p/3509451.html
Copyright © 2011-2022 走看看