php学习之:自定义函数的“传值”与“传址”
分类:网站技术日期:2010-07-05 - 16:51:05作者:老谢
演示地址:http://test.xiaojia123.tk/study/chuanzhi.php
参数的传递,可以分为 传值 和 传址 两种,究竟有什么区别呢?看完本人你就知道了.
function fun($num1,$num2)
{
$num1=100;
$num2=1000;
}
$n1=1;
$n2=10;
fun($n1,$n2);
echo “n1={$n1} n2={$n2}”;
?>
得到的结果是:n1=1 n2=10
这一段代码是传值的过程,自定义函数fun的参数传递具体$n1,$n2的值,这个很容易理解,我之前说的自定义函数都是传值,那什么是传址呢?
function fun($num1,&$num2)
{
$num1=100;
$num2=1000;
}
$n1=1;
$n2=10;
fun($n1,$n2);
echo “n1={$n1} n2={$n2}”;
?>
这段代码,n1依然是传值,而n2就是传址了。究竟有什么区别呢? 没错..就是在函数的参数中多了一个“&”取地址符,意思就是把内存地址传递给参数,也就是等于$num2=&$n2,得到的结果是n3=1 n4=1000。
暂时没有评论!