PHP 不使用第三個變數實現交換兩個變數的值

2022-05-01 08:30:12 字數 1176 閱讀 2034

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

$a="a";

$b="b";

echo '交換前 $a:'.$a.',$b:'.$b.'

';$a.=$b;

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

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

echo '交換後$a:'.$a.',$b:'.$b.'

';echo '-----------------------

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

$a="a";

$b="b";

echo '交換前 $a:'.$a.',$b:'.$b.'

';$a.=$b;

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

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

echo '交換後$a:'.$a.',$b:'.$b.'

';echo '-----------------------

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

$a="a";

$b="b";

echo '交換前 $a:'.$a.',$b:'.$b.'

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

echo '交換後$a:'.$a.',$b:'.$b.'

';echo '-----------------------

';//字串和數字都適用 使用異或運算

$a='a';

$b='b';

echo '交換前 $a:'.$a.',$b:'.$b.'

';$a=$a^$b;

$b=$b^$a;

$a=$a^$b;

echo '交換後$a:'.$a.',$b:'.$b.'

';echo '-----------------------

';//只適用於數字

$a=3;

$b=5;

echo '交換前 $a:'.$a.',$b:'.$b.'

';$a=$a+$b;

$b=$a-$b;

$a=$a-$b;

echo '交換後$a:'.$a.',$b:'.$b.'

';

不使用第三個變數交換兩個數值。

上班時間,閒來無事,寫個小演算法消遣下。題目來自某.net面試題集錦。相信很多看官也耳熟能詳。也頗為簡單,不會者學,會者繞道。題目如下 不用第三個變數,交換兩個數值。心得 1.時刻注意現在的i,j是最原始的i,j的什麼組合。2.out 原來必須要初始化才能用地。class program j i,j...

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

通常我們的做法是 尤其是在學習階段 定義乙個新的變數,借助它完成交換。如下 int a,b a 10 b 15 int t t a a b b t 這種演算法易於理解,特別適合幫助初學者了解電腦程式的特點,是賦值語句的經典應用。在實際軟體開發當中,此演算法簡單明瞭,不會產生歧義,便於程式設計師之間的...

Java不使用第三個變數交換兩個變數的資料

變數 儲存資料的空間 資料 文字和符號的表示 資料的分類 數字 byte short int long float double 非數字 char boolean author siggy public class vardemo 第一種加減法,當a或b為int型別的最大值時會越界,產生bug 第二...