Циклы используются для того, чтобы некоторый участок кода выполнился несколько раз подряд.
Зачем это нужно — представьте, что вам нужно возвести в квадрат 100 элементов массива. Если обращаться к каждому элементу отдельно по его ключу — это займет 100 строчек кода, и для того, чтобы написать этот код, нужно будет потратить довольно много времени.
Но это не нужно — у нас есть возможность сделать так, чтобы PHP выполнил за нас некоторую операцию нужное количество раз. Например, возвел все элементы массива в квадрат.
Делается это с помощью циклов.
Есть три вида циклов: foreach, while и for. Давайте разберемся, как с ними работать и чем они отличаются друг от друга.
Цикл foreach
Цикл foreach используется для прохождения по всем элементам массива.
Синтаксис такой: пишется ключевое слово foreach, а после него круглые скобки ( ). В этих скобках указывается переменная, в которой лежит массив, потом слово as, а после него — переменная, в которую при каждом проходе цикла будет ложится элемент массива.
К примеру, это может выглядеть так — foreach($arr as $elem), где $arr — это массив, а в переменную $elem будут ложиться элементы массива. Имя переменной $elem вы придумываете сами в момент создания цикла — какое придумаете, в ту переменную и будут попадать элементы массива.
После команды foreach() должны идти фигурные скобки {}. Код, который лежит в этих скобках, называется телом цикла.
Этот код будет выполняться столько раз, сколько проходов сделает цикл. А он сделает столько проходов, сколько элементов у нашего массива.
Итак, синтаксис цикла foreach выглядит так:
Давайте решим следующую задачу: пусть дан массив $arr с пятью элементами, выведем столбец этих элементов с помощью цикла foreach.
Будем при каждом проходе цикла выводить на экран (с помощью echo) текущий элемент массива (тот, что лежит в переменной $elem), и ставить после него тег br, чтобы получался столбец элементов, а не строка:
Цикл foreach — очень мощная и полезная вещь, его следует использовать в том случае, если вам необходимо выполнить какие-либо действия с каждым элементом массива по отдельности, например, возвести их в квадрат:
Циклом foreach можно пробегать не только по обычному массиву, но и по ассоциативному. В таком случае после as следует указать такую конструкцию: $ключ => $элемент. В переменной $ключ будут хранится ключи, а в переменной $элемент — соответствующие этим ключам элементы.
Чтобы посмотреть на практике, как работать с ключами, давайте сделаем следующее — при каждом проходе цикла будем выводить на экран ключ массива и соответствующий ему элемент через дефис:
Если вам нужны только значения ассоциативного массива и не нужны ключи, то $ключ=> можно не писать:
