当您想将较高的值与较低的值交换时,交换变量值在排序算法中很重要。变量分配的通常操作是获取第一个值,将此变量的值放入一个临时变量,然后将第二个变量的值分配给第一个。如以下代码所示:
$tmp = $a; $a = $b; $b = $tmp;
可以使用按位Xor(异或)运算符将其重写。
$a = $a ^ $b; $b = $b ^ $a; $a = $a ^ $b;
也可以用以下简写形式表示:
$a ^= $b; $b ^= $a; $a ^= $b;