• 消协提醒:春节预订酒店有技巧 预付卡消费需谨慎 2018-10-20
  • 陈敏尔唐良智会见传化集团董事长徐冠巨 2018-10-20
  • 扫黑除恶利剑高悬 前8月榕查处违法采砂案件93起 2018-10-20
  • 不能让所谓的收视率愚弄观众 2018-10-18
  • 新希望!中超19岁新星半年增重十斤 曾戏耍恒大两国脚 2018-10-17
  • 迎丰收 晒丰收 庆丰收 2018-10-15
  • “捂脸表情”被注册成商标?申请人不认为商标侵权 2018-10-15
  • 战巡南海、绕岛巡航…空军有“飞出去”的主心骨 2018-10-14
  • 幼儿园要求家长写一万字读后感:不能这样玩家长|幼儿园|家长-教育时讯 2018-10-13
  • 中国故宫文物展在希腊举行 2018-10-13
  • 車·晓 第26期 車企官方降价真相幾何? 2018-10-12
  • 宝沃总裁杨嵩:曾和奔驰宝马同水平 已不能同日而语 2018-10-11
  • 新时代党员干部要有更大的担当和作为 2018-10-10
  • “2018-雷霆”专项行动破获百余起台湾间谍案 2018-10-09
  • 朝韩首脑今起在平壤会晤 “金文会”将聚焦三大议题 2018-10-09
  • PHP面试题:$a+$a++ 与 $a+$a+$a++

    栏目: PHP 发布于: 2014-03-25 14:24:41

    有一个PHP 运算符优先级的问题:

    让我们来先看一道题:

    <?php
    
    $a = 1;
    $b = $a + $a++; //结果:$a=2,$b=3
    这道题不是很难,显然在PHP中 ++ 的优先级比 + 高,所以先执行 $a++,这时 $a的值为2

    再看一题:

    <?php
    
    $a = 1;
    $b = $a + $a + $a++;
    这时 $b 的值应该是多少呢?

    答案是:3

    为什么还是3呢?不是 ++ 的优先级比 + 高吗?先执行 $a++ 后,$a的值应该是2,结果是5才对啊。

    其实这是正确答案是 3,一开始自己也认为应该是5。

    解释:

    运算符是从左边往右结合的,上面的表达式相当于

    $ = ($a+$a) + $a++
    根据左结合的原则
    //先计算 $a+$a
    $b = 2 + $a++;
    
    //这时就要比较 + 和 ++ 的运算符优先级了
    
    $b = 2 + 1;	//这时$a = 2

    这是都是蛋疼的PHP笔试题,在实际项目代码中应该使用括号来避免这些问题的出现。

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:PHP面试题:$a+$a++ 与 $a+$a+$a++
    IT技术书籍推荐:
    疯狂Java讲义(第3版)
    疯狂Java讲义(第3版)
    李刚 (作者)
    《疯狂Java讲义(第3版)》内容简介:《疯狂Java讲义(第3版)》是《疯狂Java讲义》的第3版,第3版保持了前两版系统、全面、讲解浅显、细致的特性,全面新增介绍了Java 8的新特性,《疯狂Java讲义(第3版)》大部分示例程序都采用Lambda表达式、流式API进行了改写,因此务必使用Java 8的JDK来编译、运行。 《疯狂Java讲义(第3版)》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。覆盖了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下绝大部分类和接口?!斗杩馢ava讲义(第3版)》全面介绍了Java 8的新的接口语法、Lambda表达式、方法引用、构造器引用、函数式编程、流式编程、新的日期、时间API、并行支持、改进的类型推断、重复注解、JDBC 4.2新特性等新特性。