<?php // http://blog.csdn.net/samxx8/article/details/37564103 /** 在PHP 中引用的意思是:不同的名字访问同一个变量内容. (1) 变量之间的引用: $a = 10 ; $b =$a ; // 此时$b和$a所指向的是同一存储地址 ,如果$a = 11 ; 则zend会开辟一个新的单元从来是的$a = 11 ; $b 还是原来的地址 $a = 10 ; $b =&$a ; // 此时$b 就是$a的别名,比如这个人叫小张,大名叫张三一样,如果 $a = 11 ; $b 也会跟着变 */ $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变为EFG 所以输出EFG echo $b;//这里输出EFG // (2) 函数的传址调用(这里使用引用的意义在于,对于大数组节省内存空间) function conTest(&$p_vale){ $p_vale = $p_vale *2 ; } $value_1 = 1; echo $value_1; // 1 conTest($value_1); // 相当于变量的别名 echo $value_1 ; // 2 //(3) 函数的引用 function &conFuncTest(){ static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } echo '函数的引用<br/>' ; $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);
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前ByDDD
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中