请输入代码 <?php $a=1; function fun(&$a){ $a++; } echo fun($a); //为什么这里的赋值过程不是先$c=&$a,然后再fun($c) ?>
欢迎选择我的课程,让我们一起见证您的进步~~
函数调用的过程中,实参是要传给形参的,是传值还是传址,由函数参数如何声明(即加不加&)有关系。
&
另外要搞清楚:
$a = 1; $c = &$a;
这句话跟cpp不一样,$c不是$a的引用。而是,$a所绑定的值也被$c绑定了,也就是说,$a和$c这两个名字是等价的。
$c
$a
为什么要用多个变量去存储? 函数直接用引用传值更省内存
php在使用引用传值时候,只需要在函数定义时,显式地&$a声明为引用传值,在调用函数的时候,不需要,$a即可。
&$a
函数调用的过程中,实参是要传给形参的,是传值还是传址,由函数参数如何声明(即加不加
&
)有关系。另外要搞清楚:
这句话跟cpp不一样,
$c
不是$a
的引用。而是,$a
所绑定的值也被$c
绑定了,也就是说,$a
和$c
这两个名字是等价的。为什么要用多个变量去存储?
函数直接用引用传值更省内存
php在使用引用传值时候,只需要在函数定义时,显式地
&$a
声明为引用传值,在调用函数的时候,不需要,$a
即可。