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>';
var_dump($hero);
var_dump($hero2);
$a = null;
$b = &$a;
$b = 'abc';
var_dump($a, $b);
?>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询