php 函数传值_传址_函数参数,php函数的传值与传址

php函数的传值与传址有什么区别呢?对于这样的问题我喜欢通过程序演示来获取答案。让我们来看一个演示记录吧!

$i=100;

function func($n){

$n=$n+100;

return $n;

}

echo '1)函数传值前变量$i的值:'.$i.'
';

echo '2)传值后函数的返回值:'.func($i).'
';

echo '3)函数传值后变量$i的值:'.$i.'
';

echo '4)函数传址前变量$i的值:'.$i.'
';

echo '5)传址后函数的返回值:'.func(&$i).'
';

echo '6)函数传址后变量$i的值:'.$i.'
';

//echo func($i).'
';

?> 程序输出:

1)函数传值前变量$i的值:100

2)传值后函数的返回值:200

3)函数传值后变量$i的值:100

4)函数传址前变量$i的值:100

5)传址后函数的返回值:200

6)函数传址后变量$i的值:200

解释:

1)直接输出一个赋值$i=100的变量

2)func函数传值返回一个算术相加的结果$=100+100

3)func函数传值,其作用区域只限于函数内部,对外面的变量$i不会有影响

4)同上

5)func函数参数前多了个"&"符,表示传址,和2)一样,返回值是函数的算术运行结果。

6)func(&$i),变量指针指向$i的位置,可以理解为是对变量$i的操作,$i=$i+100;这时变量$i已经相当于重新被赋值

如果去掉上面代码的第18行注释,会得什么结果呢?

小结:传址为了在执行函数的同时,同时改变函数参数值,而传值不期望改变。

本文首发网志博客,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.w3note.com/web/63.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值