我有一个简单的函数,我用来比较一些东西,
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']) { ... }
我不太了解通过引用传递的概念吗?
由于
答案 0 :(得分:1)
首先请务必阅读php manual on references,尤其是关于passing by reference的部分。
简单示例:
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
只有在打算更改值原始变量时才应该使用引用(例如数组排序函数以这种方式工作),或者需要返回多于1的值(并且返回数组是一个不好的选项)。
所以直接回答你的问题:你应该使用第一种方式(除非你想在用户生活中拥有0)。