之前面试遇到过这样一个问题: $a = 1; $b = 2; 要求不能使用第三变量,实现交换$a=1,$b=2的值。 我拉个去,当时一脸懵逼,后来仔细想想也挺简单!于是整理方法如下: <?php /** * Created by PhpStorm. * User: hao * Date: 2016-08-13 * Time: 15:48 */ $a=1; $b=2; $a.=$b; //substr() 函数返回字符串的一部分 $b=substr($a,0,(strlen($a)-strlen($b))); $a=substr($a, strlen($b)); echo 'a:'.$a.',b:'.$b.'<br />'; echo '-----------------------<br/>'; $a=3; $b=5; //list() 函数用于在一次操作中给一组变量赋值。 list($b,$a)=array($a,$b); echo 'a:'.$a.',b:'.$b.'<br />'; echo '-----------------------<br/>'; //只适用于数字 $a=3; $b=5; $a=$a+$b; $b=$a-$b; $a=$a-$b; echo 'exchange_after: $a:'.$a.',$b:'.$b.'<br />';
原创文章,转载请注明: 转载自HSBLOG
本文链接地址: PHP不用第三变量交换2个变量的值的解决方法