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,这个在条件判断时比较会碰到,必须要注意 

  • 相关阅读:
    NOIP2018 模拟赛(二十二)雅礼NOI
    浅谈左偏树在OI中的应用
    HDU3062&&HDU1814
    2-SAT超入门讲解
    bitset常用用法&&简单题分析
    NOIp2014提高组初赛错题简析
    2018十月刷题列表
    BZOJ 4804: 欧拉心算
    Luogu P2568 GCD
    Luogu P4137 Rmq Problem / mex
  • 原文地址:https://www.cnblogs.com/xxmb/p/3509451.html
Copyright © 2011-2022 走看看