PHP中的引用赋值运算符,=&
在PHP中, =&
(等号&符号)赋值操作符是做什么的?
它是否被弃用?
它不被弃用,不太可能。 例如,这是一种标准方式,可以将一个数组的一部分或对象镜像更改为另一个,而不是复制现有数据。
这就是所谓的按引用分配,引用手册,“这意味着两个变量最终指向相同的数据,而且任何地方都不会复制任何内容”。
在PHP 5中,唯一被=&
弃用的是“通过引用分配new
的结果”,这可能是任何混淆的根源。 new
通过引用自动分配,因此&
在$o = &new C;
是冗余的/不推荐使用的$o = &new C;
,但不在$o = &$c;
。
由于很难搜索,所以请注意=&
(等号符号)与= &
(等于空间符号)是相同的,并且通常被编写为可以运行到另一个变量中,如$x = &$y['z'];
或$x = &$someVar
(&符美元符号变量名称)。 从文档简化示例:
$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4
这里有一个方便的链接,指向PHP手册中关于Assign By Reference的详细部分。 该页面是参考文献系列的一部分 - 值得花一点时间阅读整个系列。
这是两个不同的运营商。 =
是你可能知道的任务。 &
表示变量应该通过引用而不是按值来访问。
$x = &$y['z'];
如果它不存在,也会创建$y['z']
,并将其设置为null
。
这可以防止您可能想要读取的错误消息。 我还没有找到这方面的文件; 对于我所知道的,在5.3中可能是新的。
链接地址: http://www.djcxy.com/p/1709.html上一篇: Reference assignment operator in PHP, =&
下一篇: Is there ever a need to use ampersand in front of an object?