* fix: replace sh with shell fix replace terminal with shell fix replace node with js fix replace output with shell fix replace cs with csharp fix replace c++ with cpp fix replace c# with csharp fix replace javasctipt with js fix replace syntax with js fix replace unix with shell fix replace linux with shell fix replace java 8 with java fix replace swift4 with swift fix replace react.js with jsx fix replace javascriot with js fix replace javacsript with js fix replace c++ - with cpp fix: corrected various typos fix: replace Algorithm with nothing fix: replace xaml with xml fix: replace solidity with nothing fix: replace c++ with cpp fix: replace txt with shell fix: replace code with json and css fix: replace console with shell
3.5 KiB
title, localeTitle
title | localeTitle |
---|---|
For Loop | Для цикла |
Для цикла
Оператор PHP for
состоит из трех выражений и оператора:
for ((initialization); (condition); (final-expression)) statement
Описание
- инициализация
- Запуск до первого выполнения цикла.
- Это выражение обычно используется для создания счетчиков.
- Переменные, созданные здесь, привязаны к циклу. Как только цикл закончен, это исполнение, они уничтожены.
- состояние
- Выражение, которое проверяется перед выполнением каждой итерации.
- Если это опущено, это выражение оценивается как
true
.
- Окончательное выражение
- Выражение, которое запускается после каждой итерации.
- Обычно используется для увеличения счетчика.
- Но он может использоваться для запуска любого выражения.
- заявление
- Код должен повторяться в каждой итерации цикла.
Любое из этих трех выражений или утверждение может быть ограничено.
Выражения могут содержать несколько выражений, разделенных запятой.
В выражении (condition) будут вычислены все выражения, разделенные запятыми.
Результат получается из последнего.
Для циклов обычно используются для подсчета определенного количества итераций для повторения утверждения.
Общие проблемы
Превышение границ массива
При многократном индексировании по массиву легко превзойти границы массива (например, попытайтесь ссылаться на 4-й элемент массива из 3 элементов).
// This will cause an error.
// The bounds of the array will be exceeded.
$arr = array(1,2,3);
for ($i = 0; $i <= count($arr); $i++) {
var_dump($arr[$i]);
}
Это приведет к выводу:
int(1) int(2) int(3) NULL
Есть способы исправить этот код.
Задайте условие либо $i < count($arr)
либо $i <= count($arr) - 1
.
Проблемы с производительностью
Вышеприведенный код может стать медленным, так как размер массива выбирается на каждой итерации.
Чтобы исправить эту проблему, можно поместить размер массива в переменную.
//create the $size variable with a second expression comma separated
for ($i = 0, $size = count($arr); $i < $size; ++$i) {