Files
freeCodeCamp/guide/russian/php/loops/for-loop/index.md
Randell Dawson 0a1eeea424 fix(guide) Replace invalid prism code block names (#35961)
* 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
2019-05-15 19:08:19 +02:00

3.5 KiB
Raw Blame History

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) { 

Больше информации