Home > Backend Development > PHP Tutorial > 求知道的大大解释一下这里不用&的原因

求知道的大大解释一下这里不用&的原因

WBOY
Release: 2016-06-06 20:41:52
Original
1060 people have browsed it

<code>请输入代码
    <?php $a=1;
    function fun(&$a){
               $a++;
     }
    echo fun($a);         //为什么这里的赋值过程不是先$c=&$a,然后再fun($c)
    ?>
</code>
Copy after login
Copy after login

回复内容:

<code>请输入代码
    <?php $a=1;
    function fun(&$a){
               $a++;
     }
    echo fun($a);         //为什么这里的赋值过程不是先$c=&$a,然后再fun($c)
    ?>
</code>
Copy after login
Copy after login

函数调用的过程中,实参是要传给形参的,是传值还是传址,由函数参数如何声明(即加不加&)有关系。

另外要搞清楚:

<code>$a = 1;
$c = &$a;
</code>
Copy after login

这句话跟cpp不一样,$c不是$a的引用。而是,$a所绑定的值也被$c绑定了,也就是说,$a$c这两个名字是等价的。

求知道的大大解释一下这里不用&的原因

为什么要用多个变量去存储?
函数直接用引用传值更省内存

php在使用引用传值时候,只需要在函数定义时,显式地&$a声明为引用传值,在调用函数的时候,不需要,$a即可。

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template