当我读笨的代码,我发现写了一些功能如下:函数参考有什么好处?
function &get_instance()
{
global $CI, $OBJ;
if (is_object($CI))
{
return $CI;
}
return $OBJ->load;
}
我能理解变量refrence,但我也很难得到这个through.Is有必要使用此功能,风格和任何?效益?
谢谢。
当我读笨的代码,我发现写了一些功能如下:函数参考有什么好处?
function &get_instance()
{
global $CI, $OBJ;
if (is_object($CI))
{
return $CI;
}
return $OBJ->load;
}
我能理解变量refrence,但我也很难得到这个through.Is有必要使用此功能,风格和任何?效益?
谢谢。
在PHP的语法中,这意味着函数返回一个引用而不是一个值。例如:
<?php
$foo = 'foo';
function & get_foo_ref()
{
global $foo;
return $foo;
}
// Get the reference to variable $foo stored into $bar
$bar = & get_foo_ref();
$bar = 'bar';
echo $foo; // Outputs 'bar', since $bar references to $foo.
?>
在上面的例子中,去除功能decleration的&将使$ foo的变量仍然含有“富”,因为只有值,而不是引用从函数返回。
这在PHP4中更常用,因为它没有通过引用传递对象,而是将它们克隆。因此,必须通过引用传递对象变量以避免不必要的克隆。这在PHP5中不再是这种情况,并且引用不应该用于此目的。
但是,返回引用的函数并不是完全无用的(或者当不用于替换对象引用时,不好的做法)。例如,我个人在创建一个将“路径”传递给函数的脚本时使用了它们,该函数返回对该路径中的变量的引用,以便为其设置值并读取该值。由于函数的递归性质,需要返回引用。
它与变量引用的概念相同,实际上,当您想要将REFERENCE返回给某个变量而不是该值本身时,此“样式”是必需的。
解释这里的手册:http://www.php.net/manual/en/functions.returning-values.php
没有,没有好处。这对于php4是必要的,但在php5中这是一种不好的做法。
+1为质量答案 – user187291 2010-03-16 14:20:32