我对PHP相当陌生;到目前为止,我的大部分编程经验都是用C++编写的。所以,自然,我会关心效率。在C++中,永远不会在函数的末尾返回对象或数组,但是如果需要数据,只需返回指针即可。
因此,我的问题是:使用数组作为返回值对效率是不利的,还是PHP只是在后台使用指针而不是为了方便而不向我展示呢?
发布于 2014-08-21 22:48:09
PHP返回一个引用,如果解释器这样做是最佳的话。通常,传递给函数的参数被复制,尽管您通过引用传递一个参数,因此通过引用获得一个返回值,如下所示:
function blah(&$foo) {
$foo = array();//or whatever
//note no return statement
}
//elsewhere
$x = "whatever";
blah($x);
//$x is now an array.由于&,$foo被视为引用,因此对该变量的修改被视为对引用的修改。
也可以强制函数返回引用:
function &blah() {
//some stuff
return $foo;//goes back as a reference
}根据docs,不应该这样做,除非您有一个非优化的理由这样做。
尽管如此,PHP的效率并不高,担心这些问题还为时过早--除非您在代码中看到了实际的性能瓶颈。
https://stackoverflow.com/questions/25437099
复制相似问题