PHP不用第三变量交换2个变量的值的解决方法

之前面试遇到过这样一个问题:

 $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个变量的值的解决方法