Предположим, я хочу перебирать массив и либо никогда не смотрю на значения, либо устанавливаю в них вещи, поэтому мне нужны только ключи. Что быстрее:
// Set a variable each iteration which is unused.
foreach ($array as $key => $value) {
$array[$key]['foo'] = 'bar';
}
// Call array_keys() before iterating.
foreach (array_keys($array) as $key) {
$array[$key]['foo'] = 'bar';
}