黑马程序员技术交流社区

标题: 在复习变量时候,遇到一个出乎意料的结果,很是困惑 [打印本页]

作者: 姜志钦    时间: 2012-3-27 23:14
标题: 在复习变量时候,遇到一个出乎意料的结果,很是困惑
在比较java和javascript声明变量时候,没感觉有多大差异,除了声明的关键字。可是用其他语言就完全不一样了,如 <?php
                   $a=3;
                   $b=3;
                   if($a=5||$b=5){
                     $a++;
                     $b++;
   }
              echo "$a,$b";    这个结果竟然是1和4; 为什么呢? 我想了很久,就是想不明白。
然后我就在想就一个变量 不同语言差这么多,其他方面差异那就更大了,以后会不会越学越迷糊了?
请高手帮我这个菜鸟解答下,谢谢!
      
作者: 李东志    时间: 2012-3-27 23:36
本帖最后由 李东志 于 2012-3-27 23:39 编辑

虽然不懂php,但根据php是弱类型语言可以推出结果产生的原因:
1)第二次$a应该是重新赋值了,a值为0;if判断后$a++,a值加1为1;
2)你使用的是短路或 || ,所以$b=5并没有执行,即仍然b=3;if判断后$b++,b值加1为4;
建议先精通java,弱类型语言先学好javascript
作者: 抓哇    时间: 2012-3-28 10:25
php语言是这样的 直接晕了  还是JAVA容易学些啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2