PHP的foreach是一个非常整洁和切中要害的语言结构。仍然有些人不喜欢使用它,因为他们认为它是缓慢的。一个通常命名的原因是foreach复制它迭代的数组。
因此,一些人建议写:
$keys = array_keys($array);
$size = count($array);
for ($i = 0; $i < $size; $i++) {
$key = $keys[$i];
$value = $array[$key];
// ...
}
而不是更直观和直接:
foreach ($array as $key => $value) {
// ...
}
这里有两个问题