![]() |
1
45
如果你想通过 价值 (因此函数不会修改它) ,没有理由通过引用传递它:它只会使您的代码更难理解,正如人们所想的那样。” 这个函数可以修改我将传递给它的内容-哦,它不会修改它吗? “
在您提供的示例中,
如果你关心性能,你应该阅读这篇最近的博文: Do not use PHP references :
实际上,这篇文章可能是一篇有趣的阅读文章,即使您主要关心的不是性能;-) |
![]() |
2
12
php尽可能多地使用copy-on-write(每当它通常会提高性能时),因此使用引用不会给您带来任何性能上的好处;它只会带来伤害。只有在你真正需要的时候才使用推荐信。从php手册:
|
![]() |
3
8
好的编程实践总是尽可能地传递值,如果必须修改单个值,则通常最好是作为函数的结果返回修改后的值,而不是通过引用传递值。 唯一需要通过引用传递的情况是需要修改多个值。然而,这些情况往往很少见,通常应该将其视为检查代码的标志,因为可能有更好的方法来解决问题。 早在一天以前,早期的编程语言总是用来通过引用传递值,而传递值则是后来的一种开发,用于解决由此产生的问题(您最终往往会出现一些不明显的错误,因为迟早会有一些程序员在OME函数或其他函数,然后很难确定在哪里并正确修复-您往往最终会得到多个模糊的依赖项)。因此,当我们是多代处理器的时候,认真地考虑这是一个减少几个机器周期的选择是非常不合理的,因为这被认为是CPU与复杂度之间的一个很好的折衷,有助于清洁、可维护的代码。 |
![]() |
4
3
微观优化的乐趣。-) 老实说,通过引用传递“normal”变量(除非您想影响它们在原始范围内的值),可能不会有太多收获。另外,由于php 5对象是通过引用自动传递的。 |
![]() |
5
2
如果不想在函数中修改该值,则通过引用传递没有任何好处。我尽量使用pass-by值,因为它更容易阅读,而且脚本的流程更一致。 |
![]() |
Tono Nam · 无法在golang中通过引用修改对象 2 年前 |
![]() |
uzivanky · 课堂上不同的“this” 6 年前 |
![]() |
Henry Marshall · 通过引用替换JS对象[重构工作代码] 6 年前 |
|
user9441223 · 通过引用传递对象并将其存储为成员变量 6 年前 |
![]() |
Enryu · 参考变量参数vs局部参考变量[关闭] 6 年前 |
![]() |
Tryer · 计算不同类别对象的数量 6 年前 |