将foreach语句转换为for

如何将foreach -statements转换为PHP中的-loops?

在你的答案中使用的例子

1

 foreach( $end_array[1]['tags'] as $tag )

2

 foreach($end_array as $question_id => $row2)

在这两个例子中,留给'as'的表达式都是指数组。 数组存储键与值的映射。 这两个例子都遍历这个映射的元素。

在第一个示例中,您只对值(而不是映射到的键)感兴趣。 在每次迭代中,$ tag都指向“当前”值。

在第二个示例中,$ question_id引用键,$ row2引用“当前”映射的值。

一般的表达

foreach($array as $key => $value) {
  ...
}

可以改写为

$keys = array_keys($array);
for($k=0; $k < count($keys); $k++) {
  $key = $keys[$k];
  $value = $array[$key];
  ...
}

转换后的代码有语法问题,请尝试以下操作(对于大型数组也可以更快地运行):

$keys = array_keys($array);
for ($k = 0, $key_size = count($keys); $k < $key_size; $k++) {
  $key = $keys[$k];
  $value = $array[$key];
  ...
}
链接地址: http://www.djcxy.com/p/58179.html

上一篇: To convert foreach statements to for

下一篇: what is the meaning of => while using arrays in php