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?
