好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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。

查看更多关于php自定义函数的“传值”与“传址”学习笔记_自的详细内容...

  阅读:47次