【发布时间】:2014-08-21 22:43:53
【问题描述】:
我对 PHP 还很陌生;到目前为止,我的大部分编程经验都是用 C++ 编写的。所以,自然而然地,我开始关心效率。在 C++ 中,您永远不会在函数末尾返回对象或数组,但如果您需要数据,只需返回一个指针。
所以我的问题是:使用数组作为返回值是否会降低效率,还是 PHP 只是在后台使用指针而不显示方便?
【问题讨论】:
-
PHP中也可以通过引用传递。
-
是的,它的效率很高,PHP 在后台使用引用,顺便问下好问题! +1
-
对于开发来说,查看分析器图(然后最好是数据库查询)更有效,而不是事先担心性能细节而不是可读性。
-
@user2864740 实际上 PHP 会进行写时复制,结果是引用甚至比直接复制要慢。参见例如php.net/manual/en/internals2.variables.intro.php 和schlueters.de/blog/archives/125-Do-not-use-PHP-references.html
-
@jeroen 感谢您的链接。我没有意识到它使用了 CoW。
标签: php arrays performance