<?php
  $a=3;
  $b=3;
if($a=5 || $b=5){
   $a++;
   $b++;} 
echo "$a,$b";

解决方案 »

  1.   

    if $a= true true$a=1;
    $b=$b+1;//3+1=4
      

  2.   

    您写的我看不太懂呀,小的走到了一个死胡同,我的理解是,a和b分别附值3,如果5附给A成功,那么A为5,并为真,后面的就不判断了,执行a++,b++.我的理解是6,4 可是是错的。
      

  3.   

    嗯 加深你的理解你把 代码改成if(($a=5) || ($b=5)){你就能理解我上面说的是啥了 .
      

  4.   

    我解释细一点:if($a=5 || $b=5) 实际运算顺序是这样:
     
    if( $a= (5 || $b = 5 ) )if( $a = (true || $b = 5 ))if( $a = (true))  (类似 true || xxx形式 "||"右边部分不会执行,即不会执行 $b=5,$b的值不会变)得到 $a=true;对一个true值执行 ++运算,没有任何影响,所以$a的值始终是true.所以:$a=true,$b=3执行++后:$a=true,$b=4...所以echo "$a,$b" 得到 1,4
      

  5.   

    if($a=5 || $b=5){
    改成if($a==5 || $b==5) 就可以了,你用=是赋值,当然为真了。
      

  6.   

    if($a=5 || $b=5)乃神人之作啊,应该是if($a===5||$b===5)或者
    if($a==5||$b==5)吧
      

  7.   

    修改为:if(($a=5) || ($b=5)){}