# Распространенная ошибка при применении цикла for для массивов в PHP

В следующем коде подсчет элементов массива вынесен в условие цикла:

`<?php $arr = [1, 2, 3, 4, 5]; for ($i = 1; $i < count($arr); $i++) { echo $arr[$i]; } ?>`

На первый взгляд кажется, что этот код лучше, так как мы избавились от лишней переменной `$length`. На самом деле это не так. Дело в том, что в приведенном коде функция `count` будет заново подсчитывать количество элементов массива каждую интерацию цикла. Это не оптимально.

В следующем коде некоторый программист находит сумму всех элементов массива, кроме нулевого:

`<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8]; $sum = 0; for ($i = 1; $i < count($arr); $i++) { $sum += $arr[$i]; } echo $sum; ?>`

Что не так с этим кодом? Исправьте ошибку автора кода.

← →
↑