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

在PHP中使用xor进行变量交换安全吗,php,operators,Php,Operators,在php中使用这种变量交换安全吗 $a^=$b^=$a^=$b; 不,因为变量可能不是可以按预期方式进行XORd的类型。在一行中交换两个变量(任何标量类型)的PHP习惯用法是: list($a, $b) = array($b, $a); 仅当两者都是整数时才正确。 它的可读性差,效率也不高,为什么要用它呢?(相关)相关:这听起来是个糟糕的主意。想象一下这会对对象或数组产生什么影响$b=“白鲸”是的,它是。。。我不确定list()是否适用于数组,但我尝试过,它确实有效。

在php中使用这种变量交换安全吗

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

不,因为变量可能不是可以按预期方式进行XORd的类型。在一行中交换两个变量(任何标量类型)的PHP习惯用法是:

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

仅当两者都是整数时才正确。
它的可读性差,效率也不高,为什么要用它呢?

(相关)相关:这听起来是个糟糕的主意。想象一下这会对对象或数组产生什么影响$b=“白鲸”是的,它是。。。我不确定list()是否适用于数组,但我尝试过,它确实有效。