PHP不消第三变量互换2个变量的值
添加时间:2013-5-30 点击量:
以前做过一道php口试题是如许的:不应用第三个变量实现互换两个变量的值。一般都是借助第三个中心变量来实现本来两个变量的值互换,然则这道题却请求不克不及应用中心变量,这对于初学者来说也算是一个困难了。网上找到的几种办法总结如下:
//字符串版本 连络应用substr,strlen两个办法实现
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a.=¥b;
¥b=substr(¥a,0,(strlen(¥a)-strlen(¥b)));
¥a=substr(¥a, strlen(¥b));
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//字符串版本 应用str_replace办法实现
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a.=¥b;
¥b=str_replace(¥b, , ¥a);
¥a=str_replace(¥b, , ¥a);
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//字符串版本 连络应用list办法和array实现
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
list(¥b,¥a)=array(¥a,¥b);
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//字符串和数字都实用 应用异或运算
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a=¥a^¥b;
¥b=¥b^¥a;
¥a=¥a^¥b;
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//只实用于数字
¥a=3;
¥b=5;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a=¥a+¥b;
¥b=¥a-¥b;
¥a=¥a-¥b;
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》
以前做过一道php口试题是如许的:不应用第三个变量实现互换两个变量的值。一般都是借助第三个中心变量来实现本来两个变量的值互换,然则这道题却请求不克不及应用中心变量,这对于初学者来说也算是一个困难了。网上找到的几种办法总结如下:
//字符串版本 连络应用substr,strlen两个办法实现
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a.=¥b;
¥b=substr(¥a,0,(strlen(¥a)-strlen(¥b)));
¥a=substr(¥a, strlen(¥b));
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//字符串版本 应用str_replace办法实现
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a.=¥b;
¥b=str_replace(¥b, , ¥a);
¥a=str_replace(¥b, , ¥a);
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//字符串版本 连络应用list办法和array实现
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
list(¥b,¥a)=array(¥a,¥b);
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//字符串和数字都实用 应用异或运算
¥a=a;
¥b=b;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a=¥a^¥b;
¥b=¥b^¥a;
¥a=¥a^¥b;
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
echo -----------------------<br/>;
//只实用于数字
¥a=3;
¥b=5;
echo 互换前 ¥a:.¥a.,¥b:.¥b.<br />;
¥a=¥a+¥b;
¥b=¥a-¥b;
¥a=¥a-¥b;
echo 互换后¥a:.¥a.,¥b:.¥b.<br />;
所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》