PHP 不使用新变量而交换现有两个变量的值

正常是交换两个变量的值应该使用中间变量:

function swap($a, $b){

$temp = $a;

$a = $b;

$b = $temp;

}

1.这个方法很容易想到,但是只限于交换数值类型的变量:
function swap (&$a,&$b){
 $a = $a+$b;
 $b = $a-$b;
 $a = $a-$b;
}

2.这方法是语言结构,想法很奇妙:

list($a, $b) = array($b, $a);
 注:list — 把数组中的值赋给一些变量

3.通过数组函数array_reverse

$arr=array($a,$b);
  $arr=array_reverse($arr);
  $a=$arr[0];

$b=$arr[1];

注:array_reverse — 返回一个单元顺序相反的数组

4.直接使用数组操作:

$a = "aaa";

$b = "bbb";

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

$a = $b[1];

$b = $b[0];

时间: 2024-10-10 22:41:09

PHP 不使用新变量而交换现有两个变量的值的相关文章

函数封装2.4交换某两个变量的值

交换某两个变量的值 def demo(n): def inner(x, y): print(x, y) x, y = y, x print(x, y) return inner @demo def func(p): print(p) x = input("请输入第一个数字:") y = input("请输入第二个数字:") func(x, y) 输出结果: 请输入第一个数字:3.8 请输入第二个数字:2+3j 3.8 2+3j 2+3j 3.8 Process fi

自己写一个swap函数交换任意两个相同元素值 对空指针的使用 字节大小的判断(一)

1 #include <stdio.h> 2 struct Point{ 3 int x; 4 double y; 5 Point(int x = 0, double y = 0):x(x), y(y){} 6 void print(){ 7 printf("(%d, %lf)", x, y); 8 } 9 }; 10 void swap (char *a, char *b, size_t width){ 11 char tmp; 12 while(width--){ 13

PHP中不用第三个变量交换两个变量的值

相信大家在PHP面试或者学习中经常会遇到这个问题就是“不用第三个变量来交换两个变量的值”,今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个变量的值. 第二种方法呢,稍加思考我们就会用到PHP中的函数来实现 第三种方法呢,我们来采用PHP中提供各种字符串分割函数来实现. 简单的题目不同的思想就会有不同的解法,期待更多的答案.

Python两个变量的值进行交换的方法

使用第三方变量: '''这是第一种赋值方法,采用第三方变量''' c = a a = b b = c 使用两个变量: '''使用两个变量''' a = a+b #取两个数的和 b = a-b #然后a-b等于a然后赋值给b a = a-b #然后a-b等于b然后赋值给a,完成值的交换 使用两个变量的另一种方法: a,b = b,a

不用新的变量,交换两个变量的值。

不用新的变量,交换两个变量的值.比如有2个变量a , b ,我们希望交换他们的值. 下面介绍两种不同的解法: 第一种:基于加减法 a = a + b ;   //先让a等于和 b = a - b ;  //和减去原来b的值得到原来a的值,赋值给b a = a - b : //和减去改变后b的值(原来a的值)得到原来b的值,赋值给a 第二种:基于异或运算 a = a ^ b  // 先a异或上b,赋值给a b = a ^ b  // a异或上b,消去b的影响得到原来的a,赋值给b a = a ^

(转)交换两个变量的值,不使用第三个变量的四种法方

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用.在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法). 上面的算法最大的缺点就是需要借助一个临时变量.那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用

交换两个变量的值,不使用第三个变量的四种法方

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用.在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法). 上面的算法最大的缺点就是需要借助一个临时变量.那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用三种算法来

【Java】不使用第三方变量交换两个变量的值

在语言学习和进行程序设计的时候,我们交换两个变量最常使用的方法是借助temp这个新的变量进行转换,代码如下: ----------------------------------------- <--标准算法--> ----------------------------------------- int a = 3, b = 4; int temp = a; a = b; b = temp; ----------------------------------------- 这种方法易于理解

如何不使用第三个变量来交换两个数的值

最近在看<c++从入门到精通>自学c++,里面有一道课后题是如何做到不适用第三个变量来交换两个数的值,以下是我在网上查找到的资料,记录下并作为笔记. 题目:a=10,b=15,将a / b的值互换. 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下:      int a,b;      a=10; b=15;      int t;      t=a; a=b; b=t;      这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用