资讯专栏INFORMATION COLUMN

PHP|PHP引用的简单解释

hizengzeng / 1681人阅读

摘要:引用的引用意味着我们可以用不同的名字来访问同样的内容。引用并不能访问内存。实际上,我们可以把引用理解为系统的硬链接。如果具有引用的数组被拷贝,其值不会解除引用。

引用

PHP的引用意味着我们可以用不同的名字来访问同样的内容。

指针也是一样的,可以有不同名字的指针,访问同样的内容。

但是,PHP的引用并不是指针。引用并不能访问内存。

实际上,我们可以把引用理解为Unix系统的硬链接。

使用

$a$b在这里是完全相同的,这并不是$a指向了$b或者相反,而是$a$b指向了同一个地方。

如果具有引用的数组被拷贝,其值不会解除引用。对于数组传值给函数也是如此。

如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。但是值会是null

除此之外,引用还可以用来做两件事:

引用传递变量

引用返回

引用返回

引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。

value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue is a reference to $obj->value, which is 42.
$obj->value = 2;
echo $myValue;                // prints the new value of $obj->value, i.e. 2.
?>

Note: 和参数传递不同,这里必须在两个地方都用 & 符号——指出返回的是一个引用,而不是通常的一个拷贝,同样也指出 $myValue 是作为引用的绑定,而不是通常的赋值。

定位

许多 PHP 的语法结构是通过引用机制实现的.

global 引用

$this

当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21730.html

相关文章

  • 编程语言分类

    摘要:转载转载目前编程语言可以分为两大类第一类是像,,之类的编译型语言,它们的共性是运行之前必须对源代码进行编译,然后运行编译后的目标文件。初始化完成后读取脚本文件,引擎对脚本文件进行词法分析,语法分析。 转载 http://www.php-internals.com/book/?p=chapt02/02-03-00-how-php-script-g... 转载 http://www.l...

    XiNGRZ 评论0 收藏0
  • 谈谈我所理解闭包,js、php、golang里closure

    摘要:当初看这个解释有点懵逼,理解成闭包就是函数中的函数了。里的闭包最近不满足于只干前端的活,开始用起了。里的闭包最近在学习语言,让我们来看一下语言里的闭包。在中,闭包特指将函数作为值返回的情况,被返回的函数引用了生成它的母函数中的变量。 本人开始接触编程是从js开始的,当时网上很多人说闭包是难点,各种地方对闭包的解释也是千奇百怪。如今开始接触js以外的各种编程语言,发现不光是js,php、...

    betacat 评论0 收藏0
  • 谈谈我所理解闭包,js、php、golang里closure

    摘要:当初看这个解释有点懵逼,理解成闭包就是函数中的函数了。里的闭包最近不满足于只干前端的活,开始用起了。里的闭包最近在学习语言,让我们来看一下语言里的闭包。在中,闭包特指将函数作为值返回的情况,被返回的函数引用了生成它的母函数中的变量。 本人开始接触编程是从js开始的,当时网上很多人说闭包是难点,各种地方对闭包的解释也是千奇百怪。如今开始接触js以外的各种编程语言,发现不光是js,php、...

    zhoutao 评论0 收藏0
  • PHP_底层分析

    摘要:将会产生强制分裂结构体结构体引用数组时的一些奇怪现象引用数组时的怪现象数组不会比较细致的检查,多维数组存在。因此,判断的时候,只会判断外面一层的结构体。中底层都离不开表。底层所有的变量都是放在中。 PHP编译特点 编译型语言 对于C语言,C++,编译成机器码(二进制)来运行。Java语言,把.java 编译成.class, 称为bytecode(字节码),由jvm来运行 解释型语言 解...

    tomlingtm 评论0 收藏0
  • PHP引用传递+unset+global理解,希望大神指正

    摘要:即产生了相当于这样的效果,所以改变的值也同时改变了的值。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。只能从函数返回引用变量没别的方法。 关键是对global的误解,之前以为在函数中global变量,就是把函数外部的变量拿进函数内部使用,但似乎我错了引用传递+unset+global理解 php的引用(就是在变量、函数、对象等前面加上&符号)在PHP中引用的意思是:不同的名字访...

    ConardLi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<