Livingdead Публикувано Декември 5, 2006 Report Share Публикувано Декември 5, 2006 Циклите са контролни стуктури, които се използват за повторение на блок код. Те се използват в най-различни ситуации. Ако искаме да повторим някой блок код няколко пъти, ако искаме да обходим масив или да обработим резултатие получени от MySQL заявка например. Възможностите са много и PHP ни предоставя няколко цикъла, които могат да ни послужат за целта, но нека първо разгледаме два оператора, които могат да контролират циклите. === Контролиране на цикъл: break и continue. Конструкции:break;break израз;continue;continue израз; Операторът break служи за прекратяване изпълнението на цикъла. Brеак има незадължителен параметър, който оказва броя на вложените нива, от които трябва да се излезе.Примери:break; или break n; В циклите също може да се използва операторът continue. Когато се стигне до оператора continue, изпълнението на кода от цикъла спира и се преминава към следващото му повторение. Тоест пропуска се останалата част от оператори след continue и се преминава към следващата част от изпълението на цикъла. Операторът също може да получава параметър (continue n;), който указва, колко повторения на цикъла да се пропуснат.Примери:continue; или continue n; === Цикъл while. Конструкция:while (условен израз) { оператори; } В началото на изпълнение на цикъла се проверява условният израз. Ако той е true (истина) то цикълът се изпълнява, ако не - кодът в него се пропуска. Ето и пример:$n=0; while ($n<5) { echo $n; $n++; } === Цикъл do... while. Конструкция:do { оператори; }while(условен израз); Цикълът do... while е идентичен на while, с тази разлика че условният израз се проверява в края на цикъла, а не в началото. Това значи, че цикълът ще се изпълни задължително поне веднъж. do... while понякога се използва в този му вид:do { оператори; if ($error) { break; } оператори; }while(false);Този цикъл ще се изпълни само веднъж. Идеята е, ако се извършва дадена операция, но в нея се генерира грешка, да може кодът да се прекрати и да не се изпълни останалата част от оператори. Примери за do... while:$n=0; do { $n++; echo $n; }while($n<5); do { if (!isset($_FILES['input_file'])) { $err_msg = "Файлът не е изпратен изцяло."; break; } else { $user_file = $_FILES['input_file']; } switch ($user_file['error']) { case UPLOAD_ERR_INI_SIZE: $err_msg = "Файлът е твърде голям."; break 2; case UPLOAD_ERR_PARTIAL: $err_msg = "Възникнала е грешка по време на качването на файла."; break 2; case UPLOAD_ERR_NO_FILE: $err_msg = "Не сте избрали файл за качване."; break 2; case UPLOAD_ERR_FORM_SIZE: $err_msg = "Файлът е твърде голям."; case UPLOAD_ERR_OK: break; default: $err_msg = "Възникна непозната грешка."; } }while(false); === Цикъл for: Конструкция:for(израз, израз...; условен израз, условен израз...; израз, израз...){ оператори;} Първите изрази се изпълняват само веднъж, при достигане на цикъла. В повечето случаи в тях се инициализира управляващата променлива на цикъла. Условните изрази се проверяват в началото на всяко повторение на цикъла, а последните изрази се изпълняват в края на всяко повторение. При проверка на условен израз, ако той има стойност false (лъжа) цикълът приключва, в противен случай продължава. Изразите не са задължителни и някои от тях могат да бъдат пропускани. Примери за for.for ($num=1;$num<=100;$num++) { echo "<br>Квадрата на $num е ". $num*$num; } for (;;) { echo "infinite"; }Във втория случай стойността на условния израз е винаги истина, затова той е безкраен. Автор: Звездомир ЗлатиновПравата над статията принадлежат на SoftVisia Цитирай Link to comment Сподели другаде More sharing options...
Castigado Pantockrator Публикувано Декември 6, 2006 Report Share Публикувано Декември 6, 2006 Много полезни обяснения. Ако продължаваш така може и е- book да се получи. Супер! Цитирай Link to comment Сподели другаде More sharing options...
selia Публикувано Юни 22, 2007 Report Share Публикувано Юни 22, 2007 Аз също следя темата с голям интерес така че давай напред Цитирай Link to comment Сподели другаде More sharing options...
Livingdead Публикувано Юни 28, 2007 Author Report Share Публикувано Юни 28, 2007 Някакви идеи за нови теми относно PHP? Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост