PHP不借助第三个变量交换值

来源:互联网 发布:10年nba总决赛数据 编辑:程序博客网 时间:2024/04/28 07:28
    //方法一:      $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 中,第五个适用于交换两个数字.第三个方法可能存在编码的问题.因此最优雅,简洁的方法应是方法二.

0 0
原创粉丝点击