php 中引述的应用
程序员文章站
2024-02-19 18:19:52
...
php 中引用的应用
' ;$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);
相关文章
相关视频
上一篇: 不同文件构建PHP程序的方式
下一篇: 摘取字符串解决方法