“算法三” 才是经典算法
“经典算法!” 和 “算法二” 只能用于数值量
“算法四” 是 “算法三” 的包装这个才是 php 的经典算法
$i=1;
$n=2;
list($n, $i) = array($i, $n);

解决方案 »

  1.   

    第一个用php测试错误,Java测试倒是能成功交换值,不知道为什么?
      

  2.   

    int i = 1;
    int n = 2;
    n = i + (i = n) * 0;
    System.out.println(i);
    System.out.println(n);
      

  3.   

    这倒是个有心人。还实测了一下
    $i=1;
    $n=2;
     
    // 经典算法!
    $n=($i=$i)+($i=$n)*0;
    var_dump($i, $n);
    int(2)
    int(1)
      

  4.   


    $n = 1;
    $i = 2;$n = $n^$i;
    $i = $i^$n;
    $n = $n^$i;
      

  5.   


    $n=$i*1+($i=$n)*0;我想知道原始的为什么不管用,是运算符优先级问题?
      

  6.   


    $n=$i*1+($i=$n)*0;我想知道原始的为什么不管用,是运算符优先级问题?1、从左到左
    2、先乘除后加减
    3、有()的先算()里的
      

  7.   


    $n=$i*1+($i=$n)*0;我想知道原始的为什么不管用,是运算符优先级问题?
    1、从左到右
    2、先乘除后加减
    3、有()的先算()里的