今天看到一个题,记得当年刚入行时在面试的时候也被考过。
已知变量 a=10;b=12,要求在不使用第三个变量的情况下相互交换值。
下面是个人愚见,欢迎吐槽~~
$a = 10;
$b = 12;
//运用算法
$a = $a + $b;
$b = $a-$b;
$a = $a-$b;
//字符串截取法
$len_a = strlen($a);
$a = $a . $b;
$b = substr($a,0,-strlen($b));
$a = substr($a,strlen($a)-strlen($b),strlen($b));
//数组法-1
list($b,$a) = array($a,$b);
var_dump($a);
var_dump($b);
//数组法-2
$a = array($a);
array_push($a,$b);
$b = $a[0];
$a = $a[1];