|
if
Конструкцията if (ако) е едно от най-важните свойства на много езици, включително и на PHP. Тя позволява условно изпълнение на части от кода. PHP предоставя структура if, подобна на тази в C: CODE
CODE
else В много случаи ще искате да изпълните една инструкция ако дадено условие е изпълнено и друга инструкция, ако условието не е изпълнено. Точно за това служи else (иначе). else разширява конструкцията if, като изпълнява инструкция в случай, че изразът в конструкцията if се изчисли на FALSE. Например, следният код ще изведе a е по-голямо от b ако $a е по-голяма от $b, или a НЕ е по-голямо от b - в противен случай: CODE
Може да имате множество конструкции if но само една else Троен оператор е съкратен вариант на конструцията if-else Пример: (условие ? "изпълнява се ако условието е true":" изпълнява се ако условието е false"); elseif elseif, както подсказва и името й, е комбинация от if и else. Също както else, тя разширява конструкцията if така, че да изпълни различна инструкция, в случай че първоначалният израз if се е изчислил на FALSE. За разлика от else обаче тя ще изпълни този алтернативен израз само ако условният израз elseif се изчислява на TRUE. Например, следният код ще изведе a е по-голямо от b, a е равно на b или a е по-малко от b: CODE
Конструкцията elseif се изпълнява само ако предшестващият израз if и всички предшестващи изрази elseif се изчислят на FALSE и текущият израз elseif се е изчислил на TRUE. switch Kонструкцията switch (пренасочвам) наподобява поредица от конструкции IF върху един и същи израз. В много случаи, ще искате да сравните една и съща променлива (или израз) с много различни стойности и да изпълните различно парче код, в зависимост от това на коя стойност отговаря. Точно за това служи конструкцията switch. CODE
Могат също да бъдат изпълнени и няколко инструкции case CODE
Можете също да влагате конструкциите switch. Пример : CODE
for Циклите for (за) са най-сложния цикъл в PHP. Той се изпълнява по същия начин като нековия еквивалент в C. Синтаксисът на цикъл for е: for (expr1; expr2; expr3) statement Първият израз (expr1) се изчислява (изпълнява) безусловно веднъж в началото на цикъла. expr2 се изчислява в началото на всяка итерация. Ако се изчисли на TRUE, цикълът продължава и вложените команди се изпълняват. Ако се изчисли на FALSE, изпълнението на цикъла свършва. expr3 се изчислява (изпълнява) в края на всяка итерация. while Циклите while (докато) са най-простия тип цикъл в PHP. Те работят по същия начин както техния еквивалент в C. Основната форма на конструкцията while е: CODE
do-while Циклите do-while (прави-докато) са подобни на циклите while , с тази разлика, че вместо в началото, изразът за истинност се проверява в края на всяка итерация. Основната разлика от обикновените цикли while е, че първата итерация на цикъл do-while със сигурност ще се изпълни (условието се проверява единствено в края на итерацията), докато при циклите while не е задължително да се изпълни (условието се проверява в началото на всяка итерация, така че ако се изчисли на FALSE от самото начало, цикълът ще завърши незабавно). CODE
foreach Конструкция foreach (за всеки), е много наподобяваща тази в Perl и в някои други езици. Тя предоставя лесен начин за обхождане на масиви. CODE
Php предлага голямо разнообразие от контролни структури поради причината, че в зависимост от случайте в които се използват някой от тях са по ефективни в определени ситуации и е по удачно да бъдат изпозвани. Кога трябва да изпозваме if else конструкции и кога switch. За да се избегнат грешки, е важно да се разбере как се изпълнява конструкцията switch. Тя се изпълнява ред по ред (всъщност, инструкция по инструкция). В началото не се изпълнява никакъв код. Чак когато се срещне инструкцията case (случай) със стойност, която да съвпада със стойността на израза switch, PHP започва да изпълнява инструкциите. PHP продължава да ги изпълнява докато не достигне края на switch блока, или до първия път, където види инструкция break. Ако не напишете инструкция break накрая на списъка с инструкции за текущия случай (case), PHP ще продължи с изпълнението на инструкциите в следващия случай. В конструкция switch условието се изчислява само веднъж и резултатът се сравнява с всяка клауза case. При elseif - условието се изчислява повторно. Ако условието ви е по-сложно от просто сравняване и/или е в тежък цикъл, switch ще бъде по-бърза. Кога трябва да се използва for, while и foreach. Изпозването на цикъл while() е подходящо когато имаме неизвестен брой повторения. За това когато не знем колко на брой повторения ще имаме може да изпозваме while(), но може и да се използва и цикъл for но без параметри в тялото. Пример : CODE
Примерът по горе може да бъде изпълнен по още няколко начина. Посредством с цикъл : CODE
CODE
Когато трябва да обходим един двумерен масив с един цикъл (без влагане ) най – добрия начин е да изпозваме цикъл foreach() : Пример: CODE
Цикълът foreach() е много удобен за обработката на масиви но има някой недостатъци които трябва да бъдат показани. Примери: CODE
Грешката която възниква в foreach е, че той работи с копие на масива на не с оригинала. Когато извършваме някаква маниполация върху елементите на масива вътре в цикъла не е удачнода го изполваме foreach . Това условие не важи в случайте в случайте който масива е указан с референция, в ругите случаи се работи с копие от масива. CODE
Съвет : Никога не забравяйте да изчиствате $val след изход от цикъл foreach . Темата за съжаление е прекълено голяма и не могат да бъдат засегнати всички варианти на работа. Тук съм дал само някой от вариантите как точнода бъдат изпозвани правилно контрлните структури
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









