在PHP中使用xor进行变量交换是否安全

时间:2010-10-16 09:48:34

标签: php operators

在php中使用这种变量交换是否安全?

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

2 个答案:

答案 0 :(得分:6)

不,因为变量可能不是您期望的XORd类型。用于在一行中交换两个变量(任何标量类型)的PHP习惯用语是:

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

答案 1 :(得分:-2)

仅在两者都是整数时才更正。 它的可读性差,效率也不好,为什么要使用它?