随笔 - 61  文章 - 48  trackbacks - 0
<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

留言簿(10)

随笔档案

收藏网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜

传送变量给函数

先来看一个例子:

function doublevalue($var)
{
$var = $var * 2;
}
$variable = 5;
doublevalue($variable);
print “\$variable is: $variable”;

输出的结果是: “5” !

为什么?因为传送给函数的是变量5这个值,计算结果虽然是10,但是没有重新赋值给变量“$variable”,所以变量”variable”的值依然是5,这个需要注意。

如果把上面的第一个语句换一下:

function doublevalue(&$var)

那么输出结果变成: 10

因为加了一个“&”,所以参数就不是指变量值,而是指向变量存储在内存里的位置(变量本身)。结果在函数内改变$var也会影响到位于函数外原始变量$variable。

这个过程叫“引用”:引用变量自身。

同时,如果参数以引用的 形式被定义,则无法以直接量的表达式作为函数的参数,因为函数现在准备修改的对象是变量。

通过引用,也可以实现一个变量值被多个变量访问。

来看这个

$x = 10;
$y = &$x;
$y++;
print $x;
print $y;

结果你应该猜到了,两个11。因为改变$y同时也会改变$x,$y引用$x,事实上,他们等于是同一个变量。如果想解除$y对x变量的引用可以使用
unset($y);
HP0-729 PW0-300 310-083 来实现。

posted on 2008-06-11 16:37 php一道 阅读(739) 评论(1)  编辑 收藏 引用 网摘

FeedBack:
# re: 变量的基础 2008-06-20 19:28 kilobug
学习了。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: