鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全/ php 位運(yùn)算符 ^ 計(jì)算字符串

php 位運(yùn)算符 ^ 計(jì)算字符串

$a = "abc";  
$b= "def";  
  
$a = $a^$b;  
$b = $b^$a;  
$a = $a^$b; 


echo $b; //abc
echo $a; //def

就解釋計(jì)算過程 ,為什么會(huì)變量交換

回答
編輯回答
枕頭人

二進(jìn)制異或交換,任何語言都是一樣的

clipboard.png

參考https://blog.csdn.net/zxm1306...

2018年2月25日 01:25
編輯回答
詆毀你

假設(shè)$a的二進(jìn)制值是1000 $b是1010

//按位異或 方法一采用的是異或的方法。這個(gè)方法有個(gè)前提條件是$a,$b 的長度須一樣 
//$a = $a^$b; // 1000  1010
//echo $a;    // 0010
//$b = $a^$b;      //1010 0010 =1000
//echo $b;   //1000
//$a = $a^$b;  //  0010  1000 = 1010
//echo $a; // 1010
2018年3月20日 09:43
編輯回答
懷中人
1^1=0
0^0=0
1^0=1
0^1=1
$b^($a^$b)=$a^($b^$b)=$a
$a^($a^$b)=$b^($a^$a)=$b
2017年4月1日 01:32