
- •Лабораторная работа №4
- •4.4. Теоретические сведения
- •Общие сведения о языке php
- •Работа в редакторе Zend Studio
- •4.4.3. Переменные и типы данных php
- •4.4.3.1.Переменные
- •4.4.3.2.Глобальные переменные
- •4.4.3.3.Статические переменные
- •4.4.3.4.Константы
- •4.4.3.5.Типы данных
- •4.4.3.6.Преобразование типов
- •4.4.4.Массивы
- •4.4.5. Операторы
- •4.4.5.1. Математические операторы
- •4.4.5.2. Операторы присваивания
- •4.4.5.3. Строковые операторы
- •4.4.5.4. Операторы инкремента и декремента
- •4.4.5.5. Логические операторы
- •4.4.5.6. Операторы равенства
- •4.4.5.7. Операторы сравнения
- •4.4.6. Конструкции языка
- •4.4.6.1. Проверка условий
- •4.4.6.2. Цикл с предусловием While
- •4.4.6.3. Цикл с постусловием do-while
- •4.4.6.4. Цикл For
- •4.4.6.5. Инструкции break и continue
- •4.4.6.7. Конструкция switch-case
- •4.4.7. Функции
- •4.4.7.1. Определение и вызов функций
- •4.4.7.2. Возврат значения из функции
- •4.4.7.3. Рекурсивные функции
- •4.4.7.4. Функции-переменные
- •4.4.8. Файловый ввод/вывод и файловая система
- •4.4.8.1. Проверка существования и размера файла
- •4.4.8.2. Открытие и закрытие файлов
- •4.4.8.3.Запись в файл
- •4.4.8.4. Чтение из файла
- •4.5. Пример разработки программы на php
- •4.6. Указания по организации самостоятельной работы студентов
- •4.7. Контрольные вопросы
4.4.6.2. Цикл с предусловием While
Предназначен для циклического выполнения команд, с проверкой на то, нужно ли это делать (проверка логического выражения):
while ( логическое выражение )
инструкция Пример:
<?
$i=1;
while ($i<10){
echo " Hello";
$i++;
}
?>
Этот скрипт будет печатать слово Hello до того момента, пока переменная $i не примет значение 10. Таким образом, слово «Hello» выведется 9 раз.
Для этой конструкции есть тоже альтернативный синтаксис:
while (логическое выражение);
команды;
endwhile;
4.4.6.3. Цикл с постусловием do-while
В отличие от цикла while, этот проверяет значение выражения не до, а после каждого перехода.
do {
команды;
}
while ( логическое выражение );
Команды в любом случае выполнятся хотя бы один раз.
Пример:
<?
$i=12;
do{
echo " Hello";
$i++;
} while ($i<10)
?>
4.4.6.4. Цикл For
Цикл For – цикл со счетчиком, где задаются начальное значение счетчика, условие и модификация. Пример:
<?
for ($i=0; $i<10; $i++)
/*
первоначальное значение переменной $i - ноль, это значение будет
увеличиваться на единицу до того момента, пока не примет значение
10
*/
{
echo "hello";
}
?>
Этот скрипт распечатает слово hello 10 раз (рис 15).
Рис. 15. Результат работы программы с циклом for
4.4.6.5. Инструкции break и continue
Иногда случается так, что требуется возможность прервать цикл. Для этого используется инструкция break, которая осуществляет выход из цикла.
Пример:
<?
$a = array (1, 2, 5, 12, 0, 7, 8);
for ($i=0; $i<count($a); $i++) {
if ($a[$i]==0) break;
if ($i<count($a))
echo "элемент с индексом $i не ноль <br>";
}
?>
Рис. 16. Результат запуска программы с циклом
Этот пример ищет в массиве первый нулевой элемент.
Инструкция continue так же, как и break, работает только в паре с циклом. Вот пример, который обнуляет те элементы массива, которые удовлетворяют условиям:
for ($i=0; $i<count($a); $i++) {
if (!условие1 ($a[$i])) continue;
...
if (!условиеN ($a[$i])) continue;
$a[$i]=0;
}
6.6. Цикл foreach
Этот тип цикла предназначен специально для перебора элементов массива и есть только в 4-ой версии PHP.
foreach (массив as $key => $value)
команды;
Здесь команды циклически выполняются для каждого элемента массива.
Пример:
<?
foreach ($GLOBALS as $k=>$v)
echo "<b>$k</b> => <tt>$v</tt><br>\n";
?>
Мы отобразили содержимое всех глобальных переменных (рис. 17 ).
Рис. 17. Результат выполнения программы на отображение содержимого глобальных переменных