Rumah > Artikel > pembangunan bahagian belakang > 深入理解php中值传递和引用传递的区别
PHP值传递和引用传递的区别。什么时候传值什么时候传引用
(1)按值传递:函数范围内对值的任何改变在函数外部都会被忽略
(2)按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
(3)优缺点:
A:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
B.按引用传递则不需要复制值,对于性能提高很有好处。
<?php header('content-type:text/html;charset=utf-8'); //探讨一下 array , null, 对象 ,资源的默认传递方式 // 结论 (1) array 默认是值传递,通过加 & 可以引用传递 // (2) null 默认是值传递,通过加 & 可以引用传递 // (3) 资源 是值传递.通过加 & 可以引用传递 // (4) 对象默认也是值传递,但是对象值传递是对象标识符 $hero = array('no1'=>'蝙蝠侠', 'no2'=>'超人'); $hero2 = &$hero; $hero2['no1'] = '蜘蛛侠'; echo '<pre class="brush:php;toolbar:false">'; var_dump($hero); var_dump($hero2); $a = null; $b = &$a; $b = 'abc'; var_dump($a, $b);
推荐视频教程:PHP视频教程
Atas ialah kandungan terperinci 深入理解php中值传递和引用传递的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!