| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> php中的&引用的用法解析 -> 正文阅读 |
|
[PHP知识库]php中的&引用的用法解析 |
在PHP 中引用的意思是用不同的名字访问同一个变量内容。与在C语言中的指针不同:例如不能对引用做指针运算,引用并不是实际的内存地址。 注意在PHP中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。 在PHP中引用允许两个变量指向同一个内容,例如: 1 <?php 2 $a = &$b; 3 ?> 这意味着$a和$b指向了同一个变量,在这里$a和$b是完全相同的,并不是$a指向了$b或相反的,而是$a和$b指向了同一个地方。 再例如: [php]?view plain?copy
函数的传址调用 [php]?view plain?copy
[php]?view plain?copy
通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别 对象的调用 [php]?view plain?copy
在PHP中,对象的复制是通过引用来实现的。 上列中$b=new a; $c=$b; 其实等效于$b=new a; $c=&$b; PHP中默认就是通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不影响到副本。 为了这样的目的,PHP定义了一个特殊的方法,称为__clone. 引用的作用 如果程序比较大,引用同一个对象的变量比较多,并且希望用完该对象后手工清除它时使用 "&" 方式,然后用$var=null的方式清除。 另外,php中对于大数组的传递,建议用 "&" 方式,可以节省内存空间使用。 取消引用 当你 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如: 1 <?php 2 $a = 1; 3 $b =& $a; 4 unset ($a); 5 ?> 不会 unset $b,只是 $a。 global 引用 当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的: 1 <?php 2 $var =& $GLOBALS["var"]; 3 ?> 这意味着,例如,unset $var 不会 unset 全局变量。 $this 在一个对象的方法中,$this 永远是调用它的对象的引用。 php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理, 就是除非发生写操作,指向同一个地址的变量或者对象是不会被拷贝的。 通俗的讲 1.如果有下面的代码 $a="ABC"; $b=$a; 其实此时$a与$b都是指向同一内存地址 而并不是$a与$b占用不同的内存 2.如果在上面的代码基础上再加上如下代码 $a="EFG"; 由于$a与$b所指向的内存的数据要重新写一次了,此时Zend核心会自动判断 自动为$b生产一个$a的数据拷贝,重新申请一块内存进行存储 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 1:38:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |