PHP不借助第三個變量交換值

    //方法一:  
    $a = "abc";  
    $b= "def";  

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

    //方法二:  
    list($a, $b) = array($b, $a);  

    //方法三:  
    $a = $a . $b;  
    $b = strlen( $b );  
    $b = substr( $a, 0, (strlen($a) - $b ) );  
    $a = substr( $a, strlen($b) );  

    //方法四:(這個就比較有限制,必須用一個兩個字符串都都不能出現的字符做爲分隔符)  
    $a = $b.','.$a ;  
    $a = explode(',', $a);  
    $b = $a[1];  
    $a = $a[0];  

    //方法五:(這個是當兩個數都是數字的時候)  
    $a = $a + $b;  
    $b = $a - $b;  
    $a = $a - $b;  

大概解釋一下:方法一採用的是異或的方法,能夠想得出來這個方法的,計算機的功底打得很紮實.但這個方法有個前提條件是a, b 的長度須一樣.方法四需要分割符不能包含在a, b 中,第五個適用於交換兩個數字.第三個方法可能存在編碼的問題.因此最優雅,簡潔的方法應是方法二.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章