给定两个赋值变量,不使用其它变量的情况下,请交换两个变量的值?
例题
$a = 100; $b = 101;
输出: $a = 101; $b = 100;
方法一:使用异或
原理 a ⊕ b ⊕ a = b
$a = 100; $b = 101;
$a ^= $b;
$b ^= $a;
$a ^= $b;
echo $a , $b;
输出: 101 , 100
方法二:使用算术运算
$a = 200; $b = 101;
$a += $b;
$b = $a - $b;
$a -= $b;
echo $a, $b;
输出 :101 ,200
方法三:使得语言结构list()
list-把数组中的值赋给一组变量,可以在单次操作内就为一组变量赋值
$a = 10;
$b = 60;
list($a, $b) = [$b, $a];
输出: 60,10