将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