看看PHP有哪四种方法实现交换两个整型变量?

交换两个整型变量

  • 使用一个中间变量

这种是最容易理解的

$a = 1;
$b = 2;
$temp = $a;
$a = $b;
$b = $temp;
var_dump($a, $b);
  • 不使用中间变量,就靠几次加减巧妙转换

$a = 10;
$b = 5;
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
var_dump($a, $b);
  • 使用位运算中的多次异或

这种最不好理解

$a = 1;
$b = 3;
$a = $a ^ $b;
$b = $a ^ $b;
$a = $a ^ $b;
var_dump($a, $b);
  • 使用 list 结构

注意 list () 是一种类似 array () 的结构

这种是评论中 qufo 用户提出的,非常感谢

使用 list 时,要注意一下 php 版本

$a = 4; $b = 5;
list($b, $a) = [$a, $b];//等同于 [$b, $a] = [$a, $b];
var_dump($a , $b);


看看PHP有哪四种方法实现交换两个整型变量