PHP引用操作以及外部操作函数的局部静态变量的方法

通过引用方式在外部操作函数或成员方法内部的静态变量

下面举个简单的例子,说明三个关于引用方面的问题:

1. 参数引用后函数内进行类型转换同样是地址操作

2. 参数引用后再传递给其他函数时需要再次添加引用符才能保持地址操作

3. 函数返回值引用必须在函数申明时以及调用时都添加引用操作符


该例子使用的是对象方法的操作,同样适用于函数

<?php
class A {
	public function & test1(& $a) {
		static $i = 0;
		var_dump($i);
		$a = (array) $a;
		$a['domain'] = 'http://blog.csdn.net/zhouzme';
		$this->test2($a);
		$i++;
		var_dump($a);
		var_dump($i);
		return $i;
	}

	protected function test2(& $a) {
		$a['name'] = '蜗牛';
	}
}

$obj = new A();
$a = '';
$c = & $obj->test1($a);
$c++;
var_dump($a);
$obj->test1($a);
var_dump($a);


输出的结果







PHP引用操作以及外部操作函数的局部静态变量的方法,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。