不使用第三方变量交换两个变量的值
用位运算中的异或运算
$a = ‘中国’;
$b = ‘美国’;
echo “交换前:\$a = {$a}; \$b = {$b};
“;
$b = $b ^ $a;
$a = $b ^ $a;
$b = $b ^ $a;
echo “交换后:\$a = {$a}; \$b = {$b};
“;
此算法能够实现是由异或运算的特点决定的,通过异或运算能够使数据中的某些位翻转,其他位不变。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。
用位运算中的异或运算
$a = ‘中国’;
$b = ‘美国’;
echo “交换前:\$a = {$a}; \$b = {$b};
“;
$b = $b ^ $a;
$a = $b ^ $a;
$b = $b ^ $a;
echo “交换后:\$a = {$a}; \$b = {$b};
“;
此算法能够实现是由异或运算的特点决定的,通过异或运算能够使数据中的某些位翻转,其他位不变。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。