当前位置:  开发笔记 > 编程语言 > 正文

通过引用递归函数

如何解决《通过引用递归函数》经验,为你挑选了1个好方法。

我需要在Kohana的Jelly系列中再次回复评论及其各自的孩子.我想知道如何通过引用将变量传递给函数.我假设它会是这样的:

function recursive(&$array)
{
    recursive(&$array);
}

但我不太确定.这是正确的还是当我调用函数时我不需要&符号吗?

谢谢.



1> BoltClock..:

调用函数时不需要&符号,因为已经使用&符号声明它接受引用作为参数.

所以你要写这个:

function recursive(&$array)
{
    recursive($array);
}

另外,通常您应该避免在函数调用中添加&符号.这称为呼叫时间传递引用.这很糟糕,因为函数可能希望通过值传递一个参数,但是你传递的是一个引用,所以你在不知道的情况下搞砸了这个函数.正如我上面所说的,如果你声明它,那么函数将总是通过引用获取参数.因此,不需要调用时间传递引用.

在PHP 5.3.0及更新版本中,调用时传递引用会导致PHP发出E_DEPRECATED警告,因为它已被弃用(理所当然).

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有