PHP中的引用赋值运算符=&

新手上路,请多包涵

=& (等于和号)赋值运算符在 PHP 中有什么作用?

它被弃用了吗?

原文由 Kyle J. Dye 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 262
2 个回答

它没有被弃用,也不太可能被弃用。这是一种标准方式,例如,对另一个数组或对象进行镜像更改,而不是复制现有数据。

它被称为 按引用赋值, 引用手册的话, “这意味着两个变量最终指向相同的数据,并且没有任何内容被复制到任何地方”

唯一不赞成使用 =&PHP 5 中“通过引用分配 new 的结果”,这可能是任何混淆的根源。 new is automatically assigned by reference, so & is redundant/deprecated in $o = &new C; , but not in $o = &$c; .


由于很难搜索,请注意 =& ( _等于&符号_)与 = & ( _等于空格&符号_)相同,并且通常写成这样它会遇到另一个变量,如 $x = &$y['z'];$x = &$someVar ( _&符号变量名称_)。从文档中简化的示例:

 $a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4

这里有一个方便的链接,指向 PHP 手册中有关 按引用分配 的详细部分。该页面是参考系列的一部分 - 值得花一分钟时间阅读整个系列。

原文由 user56reinstatemonica8 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是两个不同的运营商。 = 是您可能知道的作业。 & 意味着应该通过引用而不是值访问变量。

原文由 Asaph 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏