1. 程式人生 > >php不用第三個變量,交換兩個數的值

php不用第三個變量,交換兩個數的值

php 變量

//字符串版本 結合使用substr,strlen兩個方法實現

$a="a";

$b="b";

echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;

$a.=$b;

$b=substr($a,0,(strlen($a)-strlen($b)));

$a=substr($a, strlen($b));

echo ‘交換後$a:‘.$a.‘,$b:‘.$b.‘<br />‘;


echo ‘-----------------------<br/>‘;


//字符串版本 使用str_replace方法實現

$a="a";

$b="b";

echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;

$a.=$b;

$b=str_replace($b, "", $a);

$a=str_replace($b, "", $a);

echo ‘交換後$a:‘.$a.‘,$b:‘.$b.‘<br />‘;


echo ‘-----------------------<br/>‘;


//字符串版本 結合使用list方法和array實現

$a="a";

$b="b";

echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;

list($b,$a)=array($a,$b);

echo ‘交換後$a:‘.$a.‘,$b:‘.$b.‘<br />‘;


echo ‘-----------------------<br/>‘;


//字符串和數字都適用 使用異或運算(這個特別有意思!相當於一個數學運算)

$a=‘a‘;

$b=‘b‘;

echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;

$a=$a^$b;

$b=$b^$a;

$a=$a^$b;

echo ‘交換後$a:‘.$a.‘,$b:‘.$b.‘<br />‘;


echo ‘-----------------------<br/>‘;


//只適用於數字

$a=3;

$b=5;

echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;

$a=$a+$b;

$b=$a-$b;

$a=$a-$b;

echo ‘交換後$a:‘.$a.‘,$b:‘.$b.‘<br />‘;


本文出自 “Linux獄長” 博客,請務必保留此出處http://sswqzx.blog.51cto.com/2494644/1962243

php不用第三個變量,交換兩個數的值