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

WBOY
Lepaskan: 2016-06-06 20:41:52
asal
1013 orang telah melayarinya

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

回复内容:

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

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

另外要搞清楚:

<code>$a = 1;
$c = &$a;
</code>
Salin selepas log masuk

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

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

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

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

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!