KNOW INTUIT, Лекция, Циклични структури
Операторът за цикъл се използва, когато е известно колко пъти даден оператор или последователност от оператори трябва да бъдат изпълнени. Поради тази причина цикълът for се нарича точен цикъл.
Основният синтаксис за for цикъл е показан по-долу.
Изявлението за цикъл има три параметъра. Първият параметър се използва за инициализиране на променливи, вторият съдържа условието, а третият включва стъпките, необходими за изпълнение на цикъла. Блокът от код, свързан с оператора for, е ограден във фигурни скоби ( <> ), ако блокът се състои от един оператор, фигурните скоби не са задължителни.
Следващият пример показва for цикъл за отпечатване на съобщението „Добре дошли в света на PHP“ 4 пъти:
В горния пример цикълът for включва три параметъра, които изпълняват следните задачи:
- Променливата $counter се инициализира на 1.
- $counter дефинира условието, което трябва да е вярно, за да може цикълът да се изпълни.
- $counter++ увеличава стойността на $counter всеки път, когато цикълът се изпълнява.
Следва изходът, генериран от този пример за цикъл.
При първото изпълнение променливата $counter се инициализира на 1. Тъй като 1 е по-малко от 5, $counter се увеличава с 1. След това операторът echo се използва за отпечатване на низа "Добре дошли в света на PHP!" . се добавя към изхода, за да генерира връщане на каретка всеки път, когато цикълът се изпълнява. По време на втората итерация стойността на $counter ще бъде 2. Тъй като 2 е по-малко от 5, командата echo отново отпечатва низа "Добре дошли в света на PHP!" . Този процес продължава с $counter, равен на 3 и 4. Когато $counter стане равен на 5, условието вече не е вярно и for цикълът приключва.
циклите for също се използват катоудобен начин за итерация на стойностите на масив. Спомнете си, че масивите са съставени от елементи и индекси. Всеки елемент има индекс, свързан с него. Първият индекс на масив с числови индекси е 0. Досега при извеждане на елементите на масива се изискваше всеки елемент да се показва поотделно. За големи масиви това може да отнеме много време и да е тромаво. for циклите решават този проблем. Следващият пример създава масив с 5 елемента. След това се използва for цикъл за отпечатване на всички стойности в масива.
Масивът $colors съдържа пет елемента - $colors[0] = "червен", $colors[1] = "зелен", $colors[2] = "син", $colors[3] = "жълт" и $colors[4] = "бял". Създава се for цикъл. Променливата на брояча $i първо се задава на 0, което съответства на първия елемент от масива. След това се задава условие, което проверява дали стойността на брояча $i е по-малка от sizeof($colors) или общия брой елементи в масива. Тук знаем, че размерът на масива е 5, но в повечето случаи размерът на масива не е известен по време на изпълнение. И накрая, променливата на брояча се увеличава с 1 по време на всяка итерация. На всяка стъпка от изпълнението на цикъла се показва ред - "Стойността на елемента на масива $i+1 е $colors[$i]" . Стойностите $i+1 и $colors[$i] се разширяват, за да произведат литерални стойности на изхода. Цикълът се изпълнява, докато броячът надвиши броя на елементите или размера на масива. Полученият резултат е показан по-долу.
Циклите са полезни конструкции, които се използват широко в програмирането.
foreach цикъл
Конструкцията foreach е разновидност на цикъла for и се използва за итериране на масиви. Има две различни версии на цикъла foreach.
Основният синтаксис за двете версии на цикъла foreach е показан по-долу.
Използва се първият тип foreach цикълза итерация върху масив, означен като $array. По време на всяка итерация на цикъла текущата стойност на масива се присвоява на $value и броячът на цикъла се увеличава. Цикълът продължава, докато foreach достигне последния елемент или горната граница на дадения масив. По време на всяка итерация стойността на променливата $value може да се използва по всякакъв начин, но първоначалната стойност на масива не се променя. За да промените действителната стойност на масив, трябва да добавите знака "&" . Всички промени, направени в &стойност, ще бъдат присвоени на елемента на масива в текущия индекс.
Следващият пример демонстрира как се използва цикъл foreach за итерация на стойностите на масив.
По време на всяка итерация името на цвета, свързано с текущия елемент на масива, се присвоява на променливата $colors. Също така се добавя един интервал между имената на съседни цветове за целите на показването. Когато цикълът достигне края на масива, се генерира следващият изход.
Втората форма на цикъла предоставя същата функционалност като първата, но допълнително присвоява, на всяка стъпка на итерация, индекса на текущия елемент от масива или ключа към променливата $key. В предишния пример $my_array съдържа три елемента: $my_array[0] = "червен", $my_array[1] = "зелен" и $my_array[2] = "син". Докато променливата $value съдържа стойностите на елемента на масива red, green и blue, променливата $key съдържа индексите на елемента на масива 0, 1 и 2.