在PHP中交换没有第三个变量的值

当您想将较高的值与较低的值交换时,交换变量值在排序算法中很重要。变量分配的通常操作是获取第一个值,将此变量的值放入一个临时变量,然后将第二个变量的值分配给第一个。如以下代码所示:

$tmp = $a;
$a = $b;
$b = $tmp;

可以使用按位Xor(异或)运算符将其重写。

$a = $a ^ $b;
$b = $b ^ $a;
$a = $a ^ $b;

也可以用以下简写形式表示:

$a ^= $b;
$b ^= $a;
$a ^= $b;