Скрипт (сценарий) — по факту обозначает небольшую программу, которая встроена в определенное окружение. Более точно будет называть PHP языком сценариев.
PHP выполняет код внутри конкретных тегов. Все что находится за пределами этих тегов отображается на экране. Таким образом, PHP генерирует веб-ресурсы (в частности HTML-документы) динамически, где PHP код интегрирован в HTML разметку, либо же этот процесс происходит напрямую, с помощью самого PHP кода.
Пользователь не может видеть PHP код в качестве исходного кода веб-документа без доступа к файловой системе удаленного сервера. Пользователь может видеть лишь то, что PHP производит.
Когда клиент отправляет определенный запрос серверу (например, нажимает на ссылку) веб-сервер определяет, нужно ли его обрабатывать PHP интерпретатору. Если да, PHP интерпретирует данные скрипты и клиент получает ответ, который был создан в процессе обработки скриптов. Файлы, которые включают в себя PHP скрипты обычно имеют расширение .php или .phtml.
Поскольку PHP обрабатывает код на удаленном сервере, результат не зависит от того, каким браузером пользуется клиент. PHP даст тот же результат с тем же скриптом, но отображение HTML разметки будет отличаться в зависимости от браузера.
Переменные PHP
Как и в других языках программирования переменной называется именованная область памяти, в которой содержаться данные. Переменная в php начинается со знака доллара — $ и состоит из цифр, букв и знака подчеркивания.
Есть набор правил, которых нужно придерживаться при назначении имен переменных:
- в имя переменной русские буквы могут входить как полностью, так и частично.
- после знака доллара в имени переменной может идти только символ подчеркивания или буква.
- переменные $word и $worD будут интерпретироваться как 2 разные переменные, то есть переменные в php – чувствительны к регистру.
- имена переменных в php не должны совпадать с ключевыми словами этого языка. Список ключевых слов смотрите в официальной документации PHP.
- длина имени переменной в php не ограничивается и может быть любой.
В PHP переменные рекомендуется объявлять явным образом, хотя они и не нуждаются в объявлении, так как инициализируются в момент их первого использования в программе.
В PHP всем неинициализированным переменным по умолчанию присваиваются пустые значения — FALSE.
Конструкция echo
Для вывода на экран данных, которые были сгенерированы при помощи PHP, обычно используется конструкция (функция) echo. Под данными мы подразумеваем значения переменных, функций или выражений.
<?php echo 'Hello, world!'; ?>
Важно заметить, что мы можем генерировать не только просто текст, но и теги HTML — просто включив их в данные для вывода.
Например таким образом мы можем вывести на экран браузера табличку:
<?php echo "<table><tr><td>"; echo "<tr>"; echo "<td>Данные таблички</td>"; echo "</tr>"; echo "</table>"; ?>
Операторы, операнды и выражения в php
Любая программа в PHP состоит из операндов, операторов, которые в свою очередь объединяются в выражения.
Операнд – это специальная величина, которая обрабатывается в программе.
Оператор – это некоторое действие, которое выполняется с операндом.
Давайте рассмотрим простое выражение в php и разделим его на составные части:
$perem = $var1 * $var2
В данном примере операндами будут $perem, $var1 и $var2, оператором умножения — «*», а оператор присваивания «=».
При написании программы выражения объединяются в еще большие конструкции, называемые блоками. Их объединяют циклы и условные конструкции.
Использование условного оператора
Невозможно придумать программу, в которой хоть единожды не используется условный оператор if. В его задачи входит исполнение различных участков программного кода в зависимости от того, соблюдаются ли определенные условия.
Синтаксис использования условного оператора в PHP предельно прост:
//Переменная, содержащая логическое значение $perem = true; //Если переменная равна "true" выводим текст if($perem) { echo 'Переменная существует!'; }
Правила использования условного оператора:
- Конструкция начинается с ключевого слова if, за которой следует определение входящего параметра.
- Определение входящего параметра располагается внутри круглых скобок. В них вы можете передать значение любого типа.
- После определения параметра располагаются фигурные скобки, между которыми и нужно добавить программный код, который будет выполнен, при выполнении условия в круглых скобках.
Дополнительно об условных выражениях
Операнды можно сопоставлять не только на равенство, но и наоборот – на неравенство. Для этого используют оператор ! (not). Например:
<?php $b=20; if($b!=20){ echo ‘переменная $b не равна 20’; } ?>
Данная функция определяет, существует ли переменная $b. Если такая переменная есть, то isset() выведет значение TRUE, если нет – FALSE. Ниже можно посмотреть пример использования функции isset().
<?php if(isset($b)) { echo‘Такая переменная существует’; } else { echo‘такой переменной не существует’; } ?>
Функция empty() используется для того, чтобы узнать, пусто ли значение переменной. Иногда пееменная в php скрипте может быть установлена и функция isset() вернет TRUE, но значение переменной будет пустым. Функция empty() используется для дополнительной проверки. Формат записи:
<?php $b=“”; if(!empty($b)) { echo ‘Значение переменной $b не является пустым’; } ?>
В PHP также можно объединять условные выражения в пределах одной конструкции. Условные выражения можно применять для проверки на максимум 2 соответствия (например, правый операнд меньше или равен левого). Но на практике довольно часто нужно проверить операнды на несколько соответствий. Например, узнать, входит ли число в диапазон чисел от 20 до 100.
Для таких целей использубтся операторы OR, AND и XOR. С их помощью условные выражения можно комбинировать. Давайте рассмотрим каждый из них подробно:
Оператор OR возвращает значение TRUE, если выражение слева или справа является истинным.
Оператор AND возвращает значение TRUE, если истинными одновременно будут оба выражения – слева и справа.
Оператор XOR возвращает значение TRUE, если истинным является только одно выражение (слева или справа).
<?php $login= “alex”; //Теперь проверим, совпадает ли $login с одним из заданных логинов if($login==“alex” OR $login==“dmitriy”) { echo ‘Логин правильный’; } else { echo ‘Вы ввели ошибочный логин’; } ?>
Условная конструкция switch()
Конструкция switch() очень похожа на полную запись if, в которой есть 1 или несколько elseif. Основная задача данной конструкции – проверка разных совпадений. Конструкцию switch(), как правило, применяют в случаях, когда переменная может иметь различные значения и необходимо выполнить определенные действия в зависимости от данных значений. Ниже представлен синтаксис записи конструкции switch():
switch(выражение){ case(условие): //блок выражений … default: //блок выражений }
Результат выражения сравнивается с условиями в круглых скобках после case. Блок выражений выполняется, если результат соответствует условию, в ином случае – проверяется следующее условие. Если условия закончились и ни одно из них не подошло, выполняется часть кода default. В команде switch() у блока default такое же назначение, как и в else в условной конструкции if . Обе конструкции очень похожи. Пример:
<?php switch($b){ case(4): echo ‘$b=4’; break; case(5): echo ‘$b=5’; break; default: echo ‘$b!=4’; } ?>
Аналогичный код:
<?php if($b==4){ echo ‘$b=4’; } elseif($b==5){ echo ‘$b=5’; } else{ echo ‘$b!=4’; } ?>
Для предотвращения дальнейшей проверки условий и выхода из switch() применяют команду break.
Циклические конструкции: конструкция while
Часто одно и то же действие нужно повторять несколько раз. Для этого в РНР используют циклические конструкции. РНР программа обычно выполняется в порядке чтения кода слева на право и сверху вниз.
Циклы заставляют интерпретатор выполнять многократные итерации, т.е. блок команд выполняется несколько раз. В языке программирования php существует несколько способов записи циклических конструкций:
while for do… while foreach
Циклическую конструкцию while используя для многократного выполнения блока команд. Как правило, применяют в случаях, когда количество повторений неизвестно заранее. Итерация будет выполняться до тех пор, пока условие цикла равняется true.
Синтаксис цикла while:
while (какое то выражение){ //блок команд }
Пример цикла while:
<?php //Присваиваем переменной начальное значение $begin=0; //Устанавливаем предельное значение $end=9; //Начинаем цикл с условием while ($begin<=$end){ //Определяем номер итерации $iteration = $ begin + 1; echo “$iteration –я итерация<br />”; //Обратите внимание!!! Здесь мы увеличиваем значение $begin! $begin++; } ?>
Данный скрипт выводит номера повторений цикла. Отсчет начинается со значения $begin, которое устанавливается в самом начале. Потом переменная $end определяет номер последней итерации, на которой цикл останавливается.
В большинстве языков программирования, в том числе и в РНР, отсчет начинается не с привычной для нас единицы, а с нуля. Таким образом, если мы считаем от 0 до 9, выйдет ровно 10 итераций цикла.
В примере выше цикл выполняется до тех пор, пока переменная $begin равна или меньше $end. Между фигурными скобками цикла (эту область еще называют телом цикла) присутствует оператор инкремента $begin ++. Благодаря эму значение $begin при каждом повторении цикла увеличивается на 1. Номер итерации для отображения на экране формируется в выражении $iteration = $begin + 1.Если программисту привычно то, что отсчет начинается с 0, то простой посетитель веб-сайта может этого не понимать. Мы присваиваем $iteration сумму $begin и единицы для того, чтобы привести номера итерации к привычному человеческому виду. В результате мы увидим на экране следующее:
1 –я итерация 2 –я итерация 3 –я итерация 4 –я итерация 5 –я итерация 6 –я итерация 7 –я итерация 8 –я итерация 9 –я итерация 10 –я итерация
Когда $begin становит больше 9, цикл останавливается, а управление переходит дальше.
Цикл for
В отличие от цикла while цикл for в основном используют для выражений с заранее известным количеством повторений. Но у while эта конструкция отличается тем, что условие меняется в самой конструкции, а не снаружи или внутри блока скрипта.
Синтаксис цикла for:
for (инициализация; условие; приращение){ //блок команд }
Цикл for отличается еще и тем, что условие включает не только само условие выполнения цикла, но и, инициализационную часть и приращение. В инициализированной части устанавливаются начальные значения нужных переменных. Данная часть выполняется во время первой итерации. Приращение выполняется при каждом повторении и, как правило, используется для декремента или инкремента значения одной или нескольких переменных.
Пример использования цикла for:
<?php for ($begin=0, $end=9; $begin<=$end;$begin++){ //Присваиваем номер итерации $iteration=$begin+1; echo “$iteration –я итерация<br />”; } ?>
Как мы видим, этот скрипт – более компактен, чем код с циклом while в предыдущем уроке. Но, как показывает практика, для некоторых людей он кажется более сложным для запоминания и понимания.
Во время первого прохода данной циклической конструкции инициализируются переменные $begin и $end: они получают значения 0 и 9. Потом интерпретатор проверяет истинность условия цикла. Конечно же, 0<9, поэтому блок кода внутри цикла for выполняется, а $begin увеличивается на 1. Потом условие цикла проверяется обратно. В этот раз переменная $begin=1, что меньше 9, поэтому цикл продолжает выполняться. Когда значение $begin=10, условие $begin<=$end оказывается ложным – false и цикл заканчивается.
Указанный выше синтаксис записи цикла for не является обязательным. Допускается вынос части инициализации за пределы цикла, а приращение и контроль выполнения условий можно размещать внутри. Пример рабочего скрипта:
<?php $begin=0; $end=9; for (;$begin<=$end;){ //Определяем номер итерации $iteration=$begin+1; echo “$iteration –я итерация<br />”; $begin++; } ?>