重写这个的最佳方法是什么?

时间:2014-09-16 23:07:26

标签: php for-loop

我正在寻找编写此函数的最佳方法。有人可以建议吗?

function increment($i) {
  $i += 1;
}
$j = 3;
for ($i=0; $i < 10; $i++) {
  increment ($j);
  echo "j = $j\n";    
}

输出:

j = 3 
j = 3 
j = 3 
j = 3 
j = 3 
j = 3 
j = 3 
j = 3 
j = 3 
j = 3

2 个答案:

答案 0 :(得分:3)

通过引用传递变量,这样函数实际上可以修改它的值:

function increment(&$i) {
  $i += 1;
}

这里是php documentation


如果你想在不使用return的情况下修改函数中的值,那么你的代码会更合适:

for ($j = 3; $j < 10; $j++)
  echo $j."\n"; 

答案 1 :(得分:2)

直接使用$j增加++

$j = 3;
for ($i=0; $i < 10; $i++) {
  $j++;
  echo "j = $j\n";    
}

或者,您可以在for循环中使用$j;

for ($j=3; $j < 13; $j++) {
  echo "j = $j\n";    
}

这是代码较少的最佳解决方案。

希望这有帮助。