找回密码
 注册加入

扫一扫,极速登录

QQ登录

只需一步,快速开始

搜索
查看: 8674|回复: 4

php基础问题

[复制链接]
发表于 2011-9-28 22:06:35 | 显示全部楼层 |阅读模式
悬赏30金币已解决
最近入手一本细说php
正在照书学习 有段基础代码不甚了解 球赐教
  1. <?php
  2.   $a=10;
  3.   $b=$a++ + ++$a; //前面的$a++是先算表达式即10+1=11,后面++$a是先递增一再计算表达式即11+1=12(新的$a),$b=(新)$a+$a=12+10=22
  4.   
  5.   echo " $a <br>";
  6.   echo " $b<br>";
  7.   
  8.   $b=$a-- - --$a;//前面的$a--是先算表达式即12-1=11,后面--$a是先递减一再计算表达式即11-1=10(新的$a),$b=(新)$a-$a=10-12=-2
  9.   
  10.   echo" $a<br>";
  11.   echo "$b<br>";
  12.   ?>
复制代码
以上的注释是个人的理解 按这样最后的echo“$b<br>"应该输出的是-2啊,例子和实际运行均显示输出的数字是2.这样看来肯定是我的理解有误!求正解!

最佳答案

查看完整内容

分别输出 12 22 10 2
发表于 2011-9-28 22:06:36 | 显示全部楼层
分别输出
12
22
10
2
回复

使用道具 举报

 楼主| 发表于 2011-9-29 07:50:48 | 显示全部楼层

知道是输出那些、
就是不知道为什么最后的输出不是-2而是2
肯定是基础的地方没有理解

想知道为什么算出来是2 而不是负2 因为按我的理解最后一行的结果是负2!
谢谢
回复

使用道具 举报

 楼主| 发表于 2011-9-29 08:21:36 | 显示全部楼层
哈哈 解决了
  1. $b=$a++   此时b的值还是10.  a在把值赋给b后变成了11.  
  2. $b=++$a   此时b的值是12(即先加1再赋值) 所以这样就变成了a=12,   b=22;

  3. $b=$a--   此时b的值还是12.  a在把值赋给b后变成了11.  
  4. $b=--$a   此时b的值是10(即先减1再赋值) 所以这样就变成了a=10,   b=2(相当于12-10);
复制代码
哈哈 百度知道上问到的 嘿嘿
回复

使用道具 举报

 楼主| 发表于 2011-9-29 08:23:42 | 显示全部楼层
其实很怕这种基础知识没弄清楚的
呵呵 话说 百度娘真是强大啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册加入  

本版积分规则

Archiver|手机版|小黑屋|Discuz!扩展中心 ( 浙ICP备14042422号-1 )|网站地图QQ机器人

GMT+8, 2024-4-25 08:52 , Processed in 0.142869 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表