下面用五种方法来实现不用不使用第3个变量,交换$a、$b的值
$a = 11;
$b = 33;
// 方法一:
list($a,$b) = array($b,$a);
echo $a.'-'.$b,'<br />';
// 方法二:
$a = $a . '-' . $b;
$a = explode('-',$a);
$b = $a[0];
$a = $a[1];
echo $a.'-'.$b,'<br />';
// 方法三:
$a = $a.$b;
$b = strlen($b);
$b = substr($a,0,strlen($a)-$b);
$a = substr($a,strlen($b));
echo $a . '-' . $b,'<br />';
// 方法四:
// 当两个变量都是数字的时候
$a = $a + $b;
$b = $a-$b;
$a = $a-$b;
echo $a . '-' . $b,'<br />';
// 方法五
$a = 11;
$b = 33;
$a = $a^$b;
$b = $b^$a;
$a = $a^$b;
echo $a . '-' . $b,'<br />';
注意:
方法五中,两个变量的长度必须一样,
方法四中,两个变量必须是数字
方法三中,可能存在编码问题
方法二中,注意分隔符
方法一,没得说,顶上!!!