PHP 不使用新变量而交换现有两个变量的值

正常是交换两个变量的值应该使用中间变量:

function swap($a, $b){

  $temp = $a;

  $a = $b;

  $b = $temp;

}

 

1.这个方法很容易想到,但是只限于交换数值类型的变量:
function swap (&$a,&$b){
 $a = $a+$b;
 $b = $a-$b;
 $a = $a-$b;
}


2.这方法是语言结构,想法很奇妙:

 list($a, $b) = array($b, $a);
 注:list — 把数组中的值赋给一些变量


3.通过数组函数array_reverse

  $arr=array($a,$b);
  $arr=array_reverse($arr);
  $a=$arr[0];

  $b=$arr[1];

  注:array_reverse — 返回一个单元顺序相反的数组

 

4.直接使用数组操作:

 $a = "aaa";

 $b = "bbb";

 $b = array($a, $b);

 $a = $b[1];

 $b = $b[0];

posted @ 2015-07-22 15:59  琥珀的blog  阅读(691)  评论(0编辑  收藏  举报