=&
(等于和号)赋值运算符在 PHP 中有什么作用?
它被弃用了吗?
原文由 Kyle J. Dye 发布,翻译遵循 CC BY-SA 4.0 许可协议
=&
(等于和号)赋值运算符在 PHP 中有什么作用?
它被弃用了吗?
原文由 Kyle J. Dye 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.2k 阅读
1 回答1k 阅读
它没有被弃用,也不太可能被弃用。这是一种标准方式,例如,对另一个数组或对象进行镜像更改,而不是复制现有数据。
它被称为 按引用赋值, 引用手册的话, “这意味着两个变量最终指向相同的数据,并且没有任何内容被复制到任何地方” 。
唯一不赞成使用
=&
的 是 在 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
( _&符号变量名称_)。从文档中简化的示例:这里有一个方便的链接,指向 PHP 手册中有关 按引用分配 的详细部分。该页面是参考系列的一部分 - 值得花一分钟时间阅读整个系列。