文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>1.3 不用临时变量交换值

1.3 不用临时变量交换值

时间:2006-12-26  来源:xiaoshengcaicai

1.3 不用临时变量交换值

1.3.1 问题

你想互相交换2个scalar变量的值,但是又不想用到临时变量。

1.3.2 解决方案

使用列表赋值来重新安排变量的值。

($VAR1, $VAR2) = ($VAR2, $VAR1);

1.3.3 讨论

很多编程语言在交换2个变量的值时都需要一个中间步骤:

$temp = $a;
$a = $b;
$b = $temp;

在Perl里面不需要。它会追踪赋值操作的两边的值,保证不会无缘丢失其中的值。这样就可以消除中间变量:

$a = "alpha";
$b = "omega";
($a, $b) = ($b, $a); # the first shall be last -- and versa vice

你甚至可以一次交换超过2个的值:

($alpha, $beta, $production) = qw(January March August);
# move beta to alpha,
# move production to beta,
# move alpha to production
($alpha, $beta, $production) = ($beta, $production, $alpha);

当执行完这行代码后, $alpha, $beta, 跟$production 的值分别是 "March", "August", and "January".

1.3.4 参阅

perldata(1)中的这一节:"List value constructors"

Programming Perl 第2章 "List Values and Arrays"

相关阅读 更多 +
排行榜 更多 +
泡龙大闯关安卓版

泡龙大闯关安卓版

冒险解谜 下载
割草派对安卓版

割草派对安卓版

飞行射击 下载
堡垒攻防战安卓版

堡垒攻防战安卓版

飞行射击 下载