本帖最后由 JimmyforCN 于 2011-01-16 03:16:35 编辑

解决方案 »

  1.   

    PHP文档中:
    Language Reference -> Operators -> Operator Precedence一节中列表描述了PHP中操作符优先级。其中, "+", "-", "."属于同一优先级因此, 在你修改为+之后,实际的运算是
    (($j."+".$i."=".$j) + $i) . "   ";
    内部括号中$j."*".$i."=".$j得到的是字符串
    字符串+数字, 将字符串进行隐式类型转换成为整形,这里字符串开始是$j的值, 数字之后是+,因此,字符串转换后,得到的是$j的值(详情查看PHP文档:Language Reference -> Types -> String), 因此, 上面表达式可以转换为
    ($j + $i) . "   ";所以,就得到了你看到的结果....
      

  2.   

    优先级问题 
    参考http://topic.csdn.net/u/20100714/16/0115c347-c065-4e5e-988e-aafd59fa40b4.html#11手册中+,-,.三个运算符是同级的,同级的执行顺序由执行方向决定* 比+,-,. 高级所以运算先从高级开始在到平级(平级从左开始)