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

来源:互联网 发布:条码扫描入库软件 编辑:程序博客网 时间:2024/04/29 12:07

总结一下:

//方法一:$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 中,第五个适用于交换两个数字.第三个方法可能存在编码的问题.因此最优雅,简洁的方法应是方法二.


为什么会想起来总结这个呢?起源于python里看到一行代码 a,b=(b,a)甚至可写成 a,b=b,a更加简洁.

呵呵,越来越稀饭 python.



0 0
原创粉丝点击