PHP按值传递和引用传递学习

PHP按值传递和引用传递学习

按值传递:
正常的赋值,相对与复制,变量已最后一次赋值为准。

	$a = "test";
	$b = $a;
	$a = "newtest";
	echo $a;  //输出newtest
	echo $b;   //输出test
	--或者
	$a = "test";
	$b = $a;
	$b = "newtest";
	echo $a;  //输出test
	echo $b;   //输出newtest

引用传递:
被赋值的变量指向原始变量,一变则变,(跟着变、共同体),在原始变量加&。

	$a = 'test';
	$b = &$a;  //引用赋值,$a、$b指向同一空间,两者相对与一个共同体
	$b = 'newtest';    //$b 变则 $a跟着变
	echo $a;  //输出 newtest
	echo $b;  //输出  newtest

引用传递(函数):
函数内变量改变,函数外跟着变

	$a = 'test';
	function fun(&$var){  //$var 引用$a; 两者共同体
	  $var = "newtest";  //$var改变则$a跟着改变
	}
	fun($a);
	echo $a;   //输出newtest

Copy 优缺点:
按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值