可以重用临时变量吗?

时间:2011-08-20 14:19:12

标签: php arrays counter

类似于对数组进行处理,稍后使用索引变量而不是count():

foreach($arr as $index => $val){
  ...

}

echo 'number of items: '.$index+1;

3 个答案:

答案 0 :(得分:6)

语言明确可以使用它 我不会推荐它,因为在循环外重用循环特定值是不常见的,如果你稍后重构循环并忘记几行的依赖,你可能会引入错误。实际上,在循环之后显式unset($index, $val)以避免此类问题并不是一个坏主意。如果按引用循环(foreach ($foo as &$bar)),则尤其如此。

答案 1 :(得分:0)

你可以这样做,虽然我个人不会使用它。

如果您需要稍后更改某些内容,例如跳过某个条目,该怎么办?

foreach($arr as $index => $val){
  if ($index > 3) continue;

}

echo 'number of items: '.$index+1; // now this will fail

所以你可以使用它,但我不会这样做

答案 2 :(得分:0)

也许这是一个更好的选择:

foreach($arr as $index => $val){
if ($index > 3) continue;

}

echo 'number of items: '.count($arr);