
- •Переменные
- •Внешние переменные
- •Константы
- •Типы данных в рнр. Преобразование типов
- •Операторы
- •2. Операторы языка php Операторы выбора/ if...Else
- •Операторы выбора/ Переключатель switch
- •Операторы цикла
- •Операторы цикла/ While
- •Операторы цикла/ Do…while
- •Операторы цикла/ For
- •3. Строковые функции php
- •Функция htmlspecialchars
- •Функции поиска в тексте
- •Функции strlen(), chr() и ord()
- •Trim-функции (функции удаления пробельных символов)
- •Функции форматного вывода. Спецификаторы преобразования
- •Функция sscanf()
- •Функции преобразования кодировки
- •Функции работы с бинарными данными
- •Функции работы с блоками текста
- •Функции объединения/разделения строк
- •Функции сравнения строк
- •Функции работы с url
- •Функции преобразования регистра
- •Заключение к главе 3
- •4. Массивы Инициализация массивов
- •Цикл foreach для обхода массивов
- •Многомерные массивы
- •Функция count()
- •Функция in_array()
- •Функция reset()
- •Функции сортировки массивов
- •Работа с курсором (указатель) массива
- •Функция array_walk()
- •Функции Определения и вызовы функций
- •Время жизни переменной
- •Что такое рекурсия
- •Работа с файлами Открытие файлов
- •Отображение файлов
- •Закрытие файлов
- •Чтение из файлов и запись в файлы Чтение из файлов
- •Запись в файлы
- •Копирование, переименование и удаление файлов
- •Атрибуты файлов
- •Перемещение по файлам
- •Работа с каталогами
- •Методы put и post
- •7. Регулярные выражения
- •Базовый синтаксис и создание регулярных выражений
- •Групповой символ
- •Исключающее выражение
- •Квалификаторы
- •Границы
- •Подвыражения
- •Соответствие началу и концу строки
- •Сопоставление со специальными символами
- •Классы символов
- •Функции для работы с регулярными выражениями
- •Perl-совместимые регулярные выражения
- •8. Сессии и cookie в php Сессии (сеансы) в php
- •Открытие сессии
- •Регистрация переменных сессии
- •Закрытие сессии
- •Пример простой сессии
- •Установка cookies
- •Пример простого приложения с cookies
- •Установка срока годности cookies
- •Удаление cookie
- •Проблемы безопасности, связанные с cookies
- •Установка области видимости cookie
- •Шифрование
- •Ограничение доступа для доменов
- •Отправка cookies по защищенному запросу
- •9. Работа с ftp средствами php Основные возможности php при работе с ftp
- •Соединение с ftp-сервером
- •Регистрация на ftp-сервере
- •Закрытие соединения
- •Загрузка файлов с сервера
- •Другие возможности при работе с ftp
- •Переход в родительский каталог
- •Работа через брандмауэр
- •10. Проверка корректности данных Проверка корректности данных
- •Проверка на пустоту поля
- •Проверка допустимости вводимых данных
- •Удаление html - тегов и обратных слешей
- •11. Пишем гостевую книгу на php
- •Добавление записи
- •Реляционные базы данных
- •Индексы
- •Первичные ключи
- •Способы задания первичного ключа
- •Нормализация базы данных
- •Работа с сервером MySql
- •Язык sql
- •Команды sql
- •Типы полей базы данных
Операторы цикла/ While
Оператор while называется оператором цикла с предусловием. При входе в цикл вычисляется выражение условие, и, если его значение отлично от нуля, выполняется тело цикла. Затем вычисления выражения условия и операторов тела цикла выполняется до тех пор, пока значение выражения условия не станет равным нулю. Оператором while удобно пользоваться для просмотра всевозможных последовательностей, если в конце них находится заранее известный символ. (Это очень удобно в C++, к примеру для определения длины строки, поскольку в С++, по определению, строка есть последовательность символов типа char, заканчивающаяся нулевым символом).
Пример простейшего цикла while:
<?
$var = 5;
$i = 0;
while(++$i <= $var)
{
echo($i); echo('<br>');
}
?>
Этот код выдает в окне браузера цифры от одного до пяти:
Для выхода из цикла применяется оператор break. При обнаружении этого оператора текущая итерация цикла прекращается, и последующие итерации не происходят. При выполнении следующего примере, несмотря на то, что переменная $var = 7, в окне браузера появятся цифры от 1 до 5.
<?
$var = 7;
$i = 0;
while(++$i <= $var)
{
echo($i);
echo('<br>');
if($i==3)break;
}
?>
Иногда бывает нужно прервать только текущую итерацию, и перейти сразу к следующей. Для этого применяется операторcontinue:
<?
$var = 7;
$i = 0;
while(++$i <= $var)
{
if($i==5)
{
continue;
}
echo($i);
echo('<br>');
}
?>
В этом примере выводятся цифры от 1 до 7, кроме цифры 5:
Заметим, что если Вы условный оператор поставите после операторов echo, код будет ошибочным, и выведутся все цифры от 1 до 20, поскольку проверка условия выхода из цикла на данной итерации, будет происходить уже после выполнения этой итерации.
Бесконечный цикл реализуется при помощи оператора while следующим образом:
while(1)
{
...
}
Это тоже самое, что и запись while(true).
Операторы цикла/ Do…while
Этот оператор называется оператором цикла с постусловием. При входе в цикл в любом случае выполняется тело цикла (т.е. цикл всегда будет выполнен хотя бы один раз), затем вычисляется условие, и если оно не равно 0, вновь выполняется тело цикла. В нижеследующем примере ноль всегда будет добавлен в список, независимо от условия (++$i <= $var):
<?
$var = 5;
$i = 0;
do
{
echo($i); echo('<br>');
}
while(++$i <= $var)
?>
Результат:
Цикл с постусловием бывает полезен при обработке некоторых последовательностей, когда обработку нужно заканчивать не до, а после появления концевого признака.
Бесконечный цикл реализуется так:
do ; while(1);
Операторы цикла/ For
Как уже говорилось, итерационный цикл имеет следующий формат:
for(expression1;expression2;expression3)
{
statements;
}
Здесь expression1 (инициализация цикла) – последовательность определений и выражений, разделяемая запятыми. Все выражения, входящие в инициализацию, вычисляются только один раз при входе в цикл. Как правило, здесь устанавливаются начальные значения счетчиков и параметров цикла. Смысл выражения-условия (expression2) такой же как и у циклов с пред- и постусловиями. При отсутствии выражения-условия предполагается, что его значение всегда истинно. Выражения expression3 вычисляются в конце каждой итерации после выполнения тела цикла.
В следующем скрипте, мы по традиции выведем числа от 0 до 5:
<?
$var = 5;
$i = 0;
for ($i = 0; $i <= $var; $i++)
{
echo($i);
echo('<br>');
}
?>
Результат аналогичен, показанному на предыдущем рисунке.
Бесконечный цикл можно организовать следующим образом:
for(;;);
или
for(;1;);