Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гамоцька / Zvit_4lab.docx
Скачиваний:
4
Добавлен:
23.02.2016
Размер:
166.55 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ

КАФЕДРА ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ

Лабораторна робота № 4

з дисципліни: Програмне забезпечення мереж передачі даних

на тему: «Типове програмне забезпечення серверної частини Web–додатку з використанням PHP–скриптів»

Перевірила: Виконали:

Гамоцька С.Л. студенти гр. ПР-102

Путра В.В.

Дегтяр А.В.

Іршенко О.А.

Черкаси 2013

Мета роботи: Навчитись обробляти параметри запиту за допомогою PHP-

скрипта, записувати дані в базу даних MYSQL, в змінні сесії, в окремий файл.

Теоретичні відомості

3. Цикл з постумовою do-while

На відміну від циклу з передумовою while, цей цикл перевіряє значення

виразу не до, а після кожного проходу. Таким чином, тіло циклу завжди виконується хоч би один раз. Виглядає оператор так:

do (

команди;

} while(логічний_вираз);

Після чергової ітерації перевіряється, чи істинний логічний_вираз, і, якщо

це так, управління передається знову на початок циклу, інакше цикл обривається.

Альтернативного синтаксису для do-while розробники РНР не передбачили (мабуть, через те, що, на відміну від прикладного програмування, цей цикл досить рідко використовується при програмуванні сценаріїв).

4.Універсальний цикл for

Недарма цикл з лічильником часто називають універсальним — адже з його допомогою можна створювати вельми складні конструкції. Формат циклу for такий:

for(ініціалізуючі_команди; умова_циклу; команди_після_проходження) тіло циклу;

Працює цикл таким чином: як тільки управління доходить до циклу, насамперед виконуються оператори, що входять до блоку ініціалізуючі_команди (зліва направо). Ці команди перераховуються через кому, наприклад:

for($i=0,$j = 10,$k="Test!; )

Потім починається ітерація. Насамперед перевіряється, чи виконується умова_циклу (як в конструкції while). Якщо так, то все гаразд, і цикл продовжується. Інакше здійснюється вихід з конструкції. Наприклад:

// додаємо по одній крапці

for($i=0,Sj=0,$k="Test"; $i<10; )$k.=".";

Припустимо, що тіло циклу виконало одну ітерацію. Після цього вступають в дію команди_після_проходження (їх формат той же, що і у операторів ініціалізації). Наприклад:

for($i=0,$j=0,$k="Points"; $i<100; $j++, $i+=$j )$k=$k.".";

Слід сказати, що наведений приклад (та і взагалі будь-який цикл for) можна реалізувати і через while, тільки це виглядатиме не так витончено і лаконічно. Наприклад:

$i=0; $j=0; $k="Points";

while ($i<100) {

$k.=".";

$j++; $i+=$j;

}

Як завжди, є і альтернативний синтаксис конструкції:

for(ініціалізуючі_команди; умова_циклу; команди_після_проходження)

оператори;

endfor;

5. Інструкції break і continue

Дуже часто для того, щоб спростити логіку якого-небудь складного циклу, зручно мати можливість його перервати в ході чергової ітерації (наприклад, при виконанні деякої особливої умови). Для цього й існує інструкція break, яка здійснює негайний вихід з циклу. Вона може задаватися з одним необов'язковим параметром — числом, яке вказує, з якого вкладеного циклу повинен бути виконаний вихід. За умовчанням використовується 1, тобто вихід з поточного циклу, але іноді застосовуються й інші значення:

for($i=0; $i<10; $i++){

for($j=0; $j<10; $j++){

If ($A[$i]=$A[$j]) break(2);

if($i<10) echo 'Знайдені співпадаючі елементи в матриці $А! ' ;

В даному прикладі інструкція break здійснює вихід не тільки з другого, але і з першого циклу, оскільки вказана з параметром 2.

Інструкцію break зручно використовувати для циклів пошуків: як тільки чергова ітерація циклу задовольняє пошуковій умові, пошук обривається. Наприклад, ось цикл, який шукає в масиві $А перший нульовий елемент:

for($i=0; $i<count ($A) ;

if ($A[$i]==0) break;

if ($i<count ($A) ) echo "Нульовий елемент знайдений: i=$i";

Стандартна функція count 0, яку ми ще не розглядали, просто повертає число елементів в масиві $д.

Інструкція continue так само, як і break, працює тільки "в парі" з циклічними конструкціями. Вона негайно завершує поточну ітерацію циклу і переходить до нової (звичайно, якщо виконується умова циклу для циклу з передумовою). Точно так, як і для break, для continue можна вказати рівень вкладеності циклу, який буде продовжений після повернення керування.

В основному continue дозволяє зекономити кількість фігурних дужок в коді і підвищити його легкість для читання. Це найчастіше потрібно в циклах- фільтрах, коли потрібно перебрати деяку кількість об'єктів і вибрати з них тільки ті, які задовольняють певним умовам. Наприклад, нижче наведено цикл, який обнуляє ті елементи масиву $д, які задовольняють декільком заданим умовам:

for($i=0; SKcount ($A) ; $i++){

if ( !условие! ($A[$i] ) ) continue/-

if ( '.условиеК (SA[$il ) ! continue;

$A[$i]=0;

Грамотне використання break і continue — мистецтво, що дозволяє помітно поліпшити "читабельність" коду й зменшити кількість блоків else.

Соседние файлы в папке Гамоцька