繁体   English   中英

通过引用在PHP中的函数传递?

[英]Passing by referencing with a function in php?

我有一个像这样的简单函数,可以用来比较一些东西,

function life($life) {
    while($life) {
        echo $life . '<br />';
        --$life;
    }
    return $life;
}
$life = life($user['lifeforce']);
if($life) { ... }

我应该通过参考传递它还是忘记它并使用我正在使用的东西? 会更好吗...

function life(&$life) {
    while($life) {
        echo $life . '<br />';
        --$life;
    }
}
life($user['lifeforce']);
if($user['lifeforce']) { ... }

我不太理解引用引用的概念吗?

谢谢

首先,请确保您已阅读有关参考的php手册 ,尤其是有关通过参考传递的部分。

简单的例子:

function integer_division( $number, $divider, &$remain){
  $remain = $number%$divider;
  return floor( $number/$divider);
}

$remain = 0;
$result = integer_division( 5, 2, $remain);
// $remain now contains 1

仅在打算更改值原始变量时(例如,数组排序函数以这种方式工作),或者您需要返回多个值(并且返回数组是一个错误的选择)时,才应使用引用。

因此,直接回答您的问题:您可能应该使用第一种方法(除非您希望用户寿命中为0)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM