ホームページ >バックエンド開発 >PHPチュートリアル >3 番目の変数を使用せずに 2 つの変数の値を交換する PHP ソリューション_PHP チュートリアル

3 番目の変数を使用せずに 2 つの変数の値を交換する PHP ソリューション_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:10:39804ブラウズ

以前私が行った PHP の面接の質問は次のようなものでした。3 番目の変数を使用せずに 2 つの変数の値を交換します。通常、元の 2 つの変数の値を交換するには 3 番目の中間変数を使用しますが、この問題では中間変数を使用できないことが要求され、これも初心者にとっては難しい問題です。 インターネット上で見つかったいくつかのメソッドを以下にまとめます:

コードをコピーします コードは次のとおりです:

// 文字列バージョンは、substr と strlen の 2 つのメソッドを組み合わせて実装されます
$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 '----------- ----------------
';

//文字列バージョンはリストメソッドとarray
$a="a";
$b= "b";
echo '交換前 $a:'.$a.',$b:'.$b.'
';
list($b,$a)=array($a ,$b);
echo '交換後 $a:'.$a.',$b:'.$b.'


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

//XOR 演算は文字列と数値の両方に適用できます
$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.'
';

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327076.html技術記事以前私が行った PHP の面接の質問は次のようなものでした。3 番目の変数を使用せずに 2 つの変数の値を交換します。一般に、3 番目の中間変数は、元の 2 つの変数の値交換を実現するために使用されます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。