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

2021-09-20 16:33:05 字數 1194 閱讀 5401

//字串版本 結合使用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.'

';

兩個數字交換不用第三個變數

交換函式 注意 雖然不用第三方變數的寫法感覺很牛,但是在複雜的程式環境中容易出現bug 下面會舉例bug 並且技巧性越強的 bug越不好找 因此只需掌握不用第三個變數的思路,平時最好用第三個變數來交換兩個數字 1.常用,最好理解 用第三方變數協助交換 相當於一瓶可樂,一瓶雪碧交換,用乙個空瓶子實現 ...

如何不用第三個變數實現兩個數的交換

一般我們在寫程式時如果遇到兩個數需要交換時寫作如下 1 intx,y 23 inttemp 45 temp x x y y temp 而如果不允許有第三個變數出現即不允許有temp出現時應該如何做呢?可以寫作如下 1 intx,y 23 x x y 45 y x y 67 x x y 上述一般可以滿...

不用第三個變數進行交換兩數

include include using namespace std int main d c d c d c d d c cout c c d da a b b a b a a b cout a a b ba 3 b 2 c 3 d 2 a 2 b 3 press any key to cont...