您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)PHP中怎么互換兩個(gè)變量值,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
一、substr() && strlen()
代碼:
<?php /** * 雙方變量為字符串時(shí),可用交換方法一 * 使用substr()結(jié)合strlen()兩個(gè)方法達(dá)到交換變量值得目的 */ $a = "This is A"; // a變量原始值 $b = "This is B"; // b變量原始值 echo '交換之前 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出原始值 $a .= $b; // 將$b的值追加到$a中 /** * $b得到$a值詳解: * 先通過(guò)strlen()分別計(jì)算出$a和$b中字符串的長(zhǎng)度【此時(shí)$a是原始$a和$b的合值】 * 通過(guò)strlen($a)-strlen($b)即可得出原始$a的值長(zhǎng)度 * 在通過(guò)substr()方法在合并后的$a中從0開(kāi)始截取到$a的長(zhǎng)度,那么即可得到原始$a的值 * $a得到$b值詳解: * 由于此刻$b已經(jīng)是$a的原始值了,而$a合并后的值為原始$a+原始$b的值,故用substr()在$a中從$b(原始$a)長(zhǎng)度位置截取,則去的內(nèi)容則為原始$b,則將$b值付給$a成功 */ $b = substr($a,0,(strlen($a)-strlen($b))); $a = substr($a, strlen($b)); echo '交換之后 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出結(jié)果值
運(yùn)行結(jié)果:
交換之前 $a 的值:This is A, $b 的值:This is B
交換之后 $a 的值:This is B, $b 的值:This is A
二、str_replace()
代碼:
<?php /** * 雙方變量為字符串時(shí),可用交換方法二 * 使用str_replace()方法達(dá)到交換變量值得目的 * 此方法較第一種,邏輯上稍微簡(jiǎn)單點(diǎn) */ $a = "This is A"; // a變量原始值 $b = "This is B"; // b變量原始值 echo '交換之前 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出原始值 $a .= $b; // 將$b的值追加到$a中 $b = str_replace($b, "", $a); // 在$a(原始$a+$b)中,將$b替換為空,則余下的返回值為$a $a = str_replace($b, "", $a); // 此時(shí),$b為原始$a值,則在$a(原始$a+$b)中將$b(原始$a)替換為空,則余下的返回值則為原始$b,交換成功 echo '交換之后 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出結(jié)果值
運(yùn)行結(jié)果:
交換之前 $a 的值:This is A, $b 的值:This is B
交換之后 $a 的值:This is B, $b 的值:This is A
三、list() && list()
代碼:
<?php /** * 雙方變量為字符串時(shí),可用交換方法三 * 使用list()和array()方法達(dá)到交換變量值得目的 * 此方法較第一、二種,代碼最簡(jiǎn)潔 */ $a = "This is A"; // a變量原始值 $b = "This is B"; // b變量原始值 echo '交換之前 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出原始值 list($b,$a) = array($a,$b); // list() 函數(shù)用數(shù)組中的元素為一組變量賦值。了解這個(gè),相信其他的不用我多說(shuō)了吧 echo '交換之后 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出結(jié)果值
運(yùn)行結(jié)果:
交換之前 $a 的值:This is A, $b 的值:This is B
交換之后 $a 的值:This is B, $b 的值:This is A
四、異或
代碼:
<?php /** * 雙方變量為字符串或者數(shù)字時(shí),可用交換方法四 * 使用異或運(yùn)算 */ $a = "This is A"; // a變量原始值 $b = "This is B"; // b變量原始值 echo '交換之前 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出原始值 /** * 原始二進(jìn)制: * $a:010101000110100001101001011100110010000001101001011100110010000001000001 * $b:010101000110100001101001011100110010000001101001011100110010000001000010 * * 下面主要使用按位異或交換,具體請(qǐng)參照下列給出的二進(jìn)制過(guò)程, */ $a=$a^$b; // 此刻$a:000000000000000000000000000000000000000000000000000000000000000000000011 $b=$b^$a; // 此刻$b:010101000110100001101001011100110010000001101001011100110010000001000001 $a=$a^$b; // 此刻$a:010101000110100001101001011100110010000001101001011100110010000001000010 echo '交換之后 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出結(jié)果值
運(yùn)行結(jié)果:
交換之前 $a 的值:This is A, $b 的值:This is B
交換之后 $a 的值:This is B, $b 的值:This is A
五、加(+)減(-)運(yùn)算符
代碼:
<?php /** * 雙方變量為數(shù)字時(shí),可用交換方法五 * 使用加減運(yùn)算符,相當(dāng)于數(shù)學(xué)運(yùn)算了^_^ */ $a = "This is A"; // a變量原始值 $b = "This is B"; // b變量原始值 echo '交換之前 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出原始值 $a=$a+$b; // $a $b和值 $b=$a-$b; // 不解釋.. $a=$a-$b; // 不解釋.. echo '交換之后 $a 的值:'.$a.', $b 的值:'.$b,'<br>'; // 輸出結(jié)果值
運(yùn)行結(jié)果:
交換之前 $a 的值:1, $b 的值:2
交換之后 $a 的值:2, $b 的值:1
關(guān)于PHP中怎么互換兩個(gè)變量值就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。