PHP|PHP引用的简单解释
引用
PHP的引用意味着我们可以用不同的名字来访问同样的内容。
指针也是一样的,可以有不同名字的指针,访问同样的内容。
但是,PHP的引用并不是指针。引用并不能访问内存。
实际上,我们可以把引用理解为Unix
系统的硬链接。
使用
<?php
$a = 'Hello world';
$b = &$a;
$a
和$b
在这里是完全相同的,这并不是$a
指向了$b
或者相反,而是$a
和$b
指向了同一个地方。
如果具有引用的数组被拷贝,其值不会解除引用。对于数组传值给函数也是如此。
如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。但是值会是null
除此之外,引用还可以用来做两件事:
引用传递变量
引用返回
引用返回
引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。
<?php
class foo {
public $value = 42;
public function &getValue() {
return $this->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 声明一个变量时实际上建立了一个到全局变量的引用。
<?php
$var =& $GLOBALS["var"];
?>
ThinkingPool
Y1RReE5qazFOVFl5
推荐阅读
Java|序列化异常StreamCorruptedException的解决方法
参考:[链接] {代码...} 关键处理 byte[] str = baos.toByteArray();
niecprea阅读 3.2k
php实现只需要一个QQ号就可以获得用户信息
{代码...} DEMO:[链接]此处输入你的QQ号
TANKING赞 27阅读 7.3k评论 5
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。
王中阳Go赞 4阅读 1.7k评论 2
一分钟搞明白!快速掌握 Go WebAssembly
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。
煎鱼赞 4阅读 2.1k
面试官:请说一下如何优化结构体的性能?
使用内存对齐机制优化结构体性能,妙啊!前言之前分享过2篇结构体文章:10秒改struct性能直接提升15%,产品姐姐都夸我好棒 和 Go语言空结构体这3种妙用,你知道吗? 得到了大家的好评。这篇继续分享进阶内容:结...
王中阳Go赞 4阅读 3.7k评论 2
Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。
ThinkSNS赞 1阅读 2.4k
我让chatGPT用PHP写一个MVC框架,不仅写出来,还能跑!
没想到写出来的框架确实挺简单的,但是又没觉得哪里不对,于是我尝试把这个框架放到服务器试试能不能跑起来,最后还真的可以跑起来,为了让大家能够看到这个框架的演示,我直接爬一个热搜,然后便于展示数据。
TANKING赞 1阅读 1.7k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。