Page 34 - 4636
P. 34
<td align=\"right\">".$distance.”</td>
<td align=\"right\">".($distance / 10)."</td>
</tr>\n";
$distance += 50;
}
?>
</table>
</body>
</html>
Щоб згенерований сценарієм HTML-код став читабельним, слід включити в нього символи нового
рядка і пробіли. Як було показано вище, браузери на це не реагують, але для людей, які читають
роздруківку, все це має значення. Дуже часто доводиться користуватися переглядом сторінки у
вигляді HTML, коли виходить не той результат, який очікували.
У лістингу 1.3 всередині деяких рядків трапляється послідовність символів \n. Якщо вона є
всередині рядка, укладеної в подвійні лапки, то ця конструкція являє собою символ нового рядка.
Цикли for і foreach
Спосіб використання циклів while є досить загальновживаним. Спочатку встановлюється
початкове значення лічильника. Перед кожною ітерацією значення лічильника перевіряють всередині
умови. В кінці кожної ітерації значення лічильника змінюється.
Цикл подібного типу можна записати і в більш компактній формі з використанням оператора for.
Базова структура циклу for має такий вигляд:
for (вираз1; умова; вираз2;) вираз3;
Вираз 1 виконується один раз на початку циклу. Зазвичай у ньому встановлюється початкове
значення лічильника.
Вираз умова перевіряється перед кожною ітерацією. Якщо цей вираз повертає значення false,
цикл зупиняється. Зазвичай в цьому виразі здійснюється порівняння значення
Вираз 2 виконується в кінці кожної ітерації. Зазвичай в ньому змінюється значення лічильника.
Вираз 3 виконується один раз під час кожної ітерації. Зазвичай цей вираз являє собою блок коду і
містить власне тіло циклу. Приклад циклу while, представлений у лістингу 1.3, можна переписати з
використанням циклу for. РНР-код набуде такого вигляд:
<?php
for ($distance = 50; Sdistance <= 250; $distance += 50) {
echo "<tr>
<td align=\"right\">".$distance."</td>
<td align=\"right\">".($distance / 10).”</td>
</tr>\n";
}
?>
У функціональному сенсі цикли while і for ідентичні. Однак цикл for має кілька більш
компактну форму і містить на два рядки менше.
Обидва циклу еквівалентні .
Можна об'єднувати змінні змінних і цикли for для організації ітерацій з послідовності
повторюваних полів форми. Наприклад, за наявності полів форми з такими іменами, як, скажімо,
namel, name2, name3 і т.д., їх можна обробляти таким чином:
for ($1=1; $i <= $numnames; $i++) {
$temp= "name$i";
echo $$temp.'<br />'; // тут може бути будь-яка інша обробка
}
31