欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php 中引用的应用

程序员文章站 2022-04-15 18:21:07
...
' ;
$a=conFuncTest();//这条语句会输出 $b的值 为1 
$a=5; $a=conFuncTest();//这条语句会输出 $b的值 为2
$a=&conFuncTest();//这条语句会输出 $b的值 为3 

// 此时相当于$a = &$b ;  
$a=5;
// 此时 $b是$a的别名 $b = 5; 
$a=conFuncTest();
//这条语句会输出 $b的值 为6

//(4) 对象的引用,对象的引用也是为了节省空间 

class object{
	
	public  $value = 'Hello world'; 
	
	// 如果想要clone则不让克隆 
	public  function __clone(){
		$this->value = 'not clone'; 
	}
}


$oBject_a = new object; 
$oBject_b = $oBject_a; 
// 上面等效于 $oBject_b = &$oBject_a; 
echo $oBject_a->value;//这里输出ABC 
// 修改对象a的值,会影响b的值,因为$b 是$a的引用 
$oBject_a->value = 'not hello';
echo $oBject_b->value;//这里输出not hello

// 如果不想影响对象a的值,可以使用魔术方法 __clone


$obj2 = clone $oBject_a; 

echo  $obj2->value;

//(5) 变量销毁 


$a = 11 ; $b =&$a ; unset($a);  // 此时 $b = 11;  
// 相当于 


 function quoteTest(){ 
 global $var ; 
 //相当于 $var = &$GLOBALS['var']; 
 unset($var);
 //删除只是删除引用,而引用的内容还存在,同上这并不意味着变量内容被销毁了
 }
 $var=1;
 quoteTest();
 echo $var; //  
 
 
 
 
 
 
echo $wlt = 111; 
print_r($GLOBALS); 

unset($wlt) ; 

print_r($GLOBALS);