Лекция

Тема: «Введение в PHP. Управляющие конструкции в РНР и обработка данных формы»

План

1.      Что такое PHP

2.      История создания

3.      Способы вставки PHP в HTML

4.      Начало работы с PHP

5.      Переменные в PHP

6.      Передача данных из экранных форм в PHP-сценарии

7.      Использование методов GET и POST

8.      Способы передачи параметров сценарию

9.      Функции isset и empty

10.  Сохранение данных на форме после отправки

11.  Конструкции включений в PHP

12.  Математические функции

 

1.                  Что такое PHP

PHP - это язык программирования, цель которого - создание динамических сайтов. В понимании динамичности имеется в виду управление сайтом (добавление, удаление и редактировании информации на сайте) без изменения кода. Гостевые книги, форумы, анкеты регистраций, доски объявлений, чаты и прочее также работают благодаря языку PHP (имеется в виду область применения этого языка, можно использовать любой другой серверный язык).

Язык программирования JavaScript – это клиентский язык, он работает на стороне клиента. PHP работает на стороне сервера. При обращении клиента к серверу (за нужной страницей сайта) в обычном HTML сервер просто находит нужный файл HTML и отображает его. В PHP иначе. Сервер получает запрос от клиента, находит нужный файл и видит - что файл этот исполняемый, т.е. содержит программный код (скрипт). Затем сервер обрабатывает данный скрипт и уже результат работы скрипта возвращает клиенту.

Язык PHP создавался программистом Расмусом Лердофом для облегчения работы над своим сайтом, и первое название было "Personal Home Page" (Персональная домашняя страница). Но претерпев несколько изменений, название языка тоже немного поменялось и стало PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста».

Отличительные особенности языка PHP:

-        PHP прост в изучении (если сравнивать с другими языками);

-        PHP легко внедрять в документы HTML (в отличие от C или Perl);

-        язык PHP очень популярен - его поддерживают большинство хостеров;

-        тысячи разработчиков используют язык PHP. Несколько миллионов (а может  и миллиардов) сайтов работают на PHP;

-        PHP полностью бесплатен.

 

2.                  История создания

 В 1994 году перспективно мыслящий человек по имени Rasmus Lerdorf разработал набор инструментов, которые использовали синтаксический анализатор для интерпретации нескольких макросов. Эти инструменты не были особенно оригинальными: гостевая книга, счетчик посещений и несколько других элементов "домашней страницы", которые были достаточно круты на ранней стадии развития Web. Он, в конечном счете, скомбинировал эти инструменты с пакетом интерпретации форм (FI - form interpretation), им же написанным, добавил некоторую поддержку баз данных и выпустил этот продукт под именем PHP⁄FI.

 Так, в духе свободно распространяемых исходных кодов, разработчики всего мира начали содействовать развитию PHP⁄FI. К 1997 году более 50000 Web-сайтов использовали PHP⁄FI для решения различных задач - подключение к базе данных, отображение динамического содержимого и т.п. К этому времени разработка стала по-настоящему результатом коллективных усилий. При участии израильских разработчиков Энди Гутманса и Зеева Сураски, была создана версия РНР 3.0. Окончательная редакция РНР 3.0 была выпущена в июне 1998 года, когда она была дополнена поддержкой множества платформ (теперь уже не только для Linux) и Web-серверов, многочисленных баз данных, а также протоколов SNMP (Simple Network Management Protocol - простой протокол сетевого управления) и ШАР (Internet Message Access Protocol - межсетевой протокол доступа к сообщениям).

В конце 1998 года израильские программисты начали разрабатывать новый движок. Они сделали акцент на увеличение производительности и совершенствование модульности базиса PHP кода. Благодаря труду разработчиков в 1999 году родился движок под названием Zend Engine, который был на голову выше движка предыдущей версии PHP. На основе Zend Engine к 2000 году официально был выпущен язык PHP 4.0. В новой версии значительно возросла производительность, присутствовал ряд полезных нововведений. В PHP 4.0 была включена поддержка сессий. Стало возможно буферизировать вывод. Язык стал более безопасный.

В середине июля 2004 года вышла пятая версия PHP. PHP 5 работает на ядре Zend Engine 2, которое значительно эффективней и производительней. Значительным моментом в истории развития PHP было внедрение полноценного объектно-ориентированного программирования в PHP 5, что в разы упростило и сделало удобным разработку масштабных проектов на языке PHP.

 

3.                  Способы вставки PHP в HTML

Когда РНР анализирует файл,  он начинает читать код построчно до тех пор, пока не наткнется на специальные теги, обозначающие начало и конец кода PHP, до этого момента он просто выводит содержимое документа на экран монитора.

После обнаружения скрипта, происходит его исполнение, и когда заканчивается обработка всего, что написано до тега, завершающего вставку PHP, снова продолжается построчный вывод информации на экран пользователя. РНР-код можно ввести в любой момент в любой HTML-документ.

Способы вставка PHP в HTML:

 

Способ 1.

      <?php echo 'Самая распространенная конструкция'; ?>

 

Способ 2.

<script language="php">
   echo "Вариант вставки кода 2";
</script>
 

Способ 3.

<? echo "Вариант вставки кода 3"; ?>

 

Способ 4.

<% echo 'Последний вариант для вставки кода'; %>
 

Способ 5.

Начиная с версии PHP 5.3 появилась возможность вставлять в код только открывающий тег <?php, чтобы все дальнейшее содержание интерпретировалось как скрипт.

<?php
if ($expression) {
    ?>
    <p>Условие верно</p >
    <?php
} else {
    ?>
    <p>Условие не верно</p>
    <?php
}
?>

 

Такая вставка отлично подходит для вывода больших фрагментов текста внутри скриптов. Это будет эффективнее, чем использовать конструкцию по типу echo().

 

4.                         Начало работы с PHP

PHP обрабатывает данные на сервере, т. е., чтобы проверить работу скрипта, нужен сервер. Эту проблему можно решить двумя способами. Один неудобный и дорогой: зарегистрировать сайт в интернете на сервере с поддержкой PHP и закачивать туда обновления скрипта. Или другой: установить сервер (Apache) на компьютер. Он занимает мало места на жестком диске (несколько МБ) и очень удобен в использовании (проверять скрипты на своем компьютере + не нужен доступ в интернет). Называется Денвер.

После установки запускаем Run.exe

Если все сделано правильно, то в браузере в адресной строке после набора localhost должна появиться страница Денвера с текстом "Ура, Заработало!".

Далее заходим в каталог ...\denwer\home\localhost\www\ создаем папку, в которой будет сайт. В этой папке создаем файл под названием index.php (index - это стандрат, а .php - расширения php-скриптов. PHP-скрипты находятся в той же папке, где и html файлы. Можно вставлять куски кода php в html-код.

Код обрабатываемый php-интерпретатором отделяется так:

<?  ?>

 

Создадим первый php-скрипт. Создадим первый php-скрипт. Он должен вывести на экран текст "Здравствуй, мир!".

Для написания кода будем использовать функцию echo (читается "эхо"), которая  выводит данные на экран.

 

В файле index.php пишем следующее:

 

<?php  echo ' Здравствуй, мир!'; ?>

 

Сохраняем и открываем браузер. В адресной строке записываем

localhost/ИмяВашейПапки/index.php.

 

Результат:

 

 

Изменим скрипт – отобразим текущую дату.

Для этого в функцию echo добавим другую функцию date(), с такими параметрами date('d, m, Y').

 

Пример вывода даты на экран

 

<?php  echo date('d, m, Y'); ?>

 

Кавычки для вывода не ставим, так как обращаемся к функции. А в предыдущем примере просто выводили строку.

 

Результат

 

 

Для сочетания текста и переменных или функций при выводе информации на экран используют оператор конкатенации «.» (точка)

Выведем такой текст на страницу:

 

«Здравствуй, мир! Сегодня «текущая дата»»

 

Для этого оператор вывода будет иметь вид:

<?php 

        echo "Здравствуй, мир! Сегодня " . date('d. m. Y');

?>

 

Результат:

 

 

Чтобы иметь полноценную страницу, добавим теги html. Должно получиться:

 

 

5.     Переменные в PHP

Все переменные в PHP начинаются со знака доллар "$". Далее после этого знака может находиться любая последовательность, состоящая из буквенно-цифровых символов (включая знак подчеркивания), но первый символ не может быть цифрой.

PHP чувствителен к регистру, а значит переменные $pEr, $per, $PER - будут разные.

В PHP не надо указывать явно тип данных у переменных. Одна и та же переменная может иметь разные типы данных в одной программе.

 

6.     Передача данных из экранных форм в PHP-сценарии

Рассмотрим основные управляющие элементы форм и определим, какие значения они передают в сценарии.

 

1) Флажок

Флажки checkbox предлагают пользователю ряд вариантов, и разрешают выбор нескольких из них.

 

<input name="Имя флажка" type="checkbox" value="Значение">

 

Если элемент выбран, то сценарию поступит строка имя флажка=значение, в противном случае, в обработчик формы не придет ничего, т.е. не выбранные флажки вообще никак не проявляют себя в переданном наборе данных.

 

2) Переключатель

Переключатели radio предлагают пользователю ряд вариантов, но разрешают выбрать только один из них.

 

<input name="Имя переключателя" type="radio" value="Значение">

 

Если пользователь выберет переключатель, то сценарию будет передана строка имя переключателя=значение. При необходимости можно указать параметр checked, который указывает на то, что переключатель будет иметь фокус (т.е. будет отмечен по умолчанию) при загрузке страницы.

 

3) Кнопка сброса формы

 

<input type="reset" name="Имя кнопки" value="Надпись на кнопке">

 

При нажатии на кнопку сброса (reset), все элементы формы будут установлены в то состояние, которое было задано в атрибутах по умолчанию, причем отправка формы не производится.

 

4) Выпадающий список

Тэг <select> представляет собой выпадающий или раскрытый список, при этом одновременно могут быть выбраны одна или несколько строк.

Список начинается с парных тегов <select></select>. Теги <option></option> позволяют определить содержимое списка, а параметр value определяет значение строки. Если в теге <option> указан параметр selected, то строка будет изначально выбранной. Параметр size задает, сколько строк будет занимать список. Если size равен 1, то список будет выпадающим. Если указан атрибут multiple, то разрешено выбирать несколько элементов из списка (при size = 1 не имеет смысла).

 

<select name="Имя списка" size = "Размер" multiple

<option value="Значение">Текст в списке</option> 

</select>

 

При передаче данных выпадающего списка сценарию передается строка имя списка=значение, а при раскрытом списке передается строка имя списка=значение1&имя=значение2&имя=значениеN.

 

5) Текстовое поле

Позволяет пользователям вводить различную информацию.

 

<input type="text" name="Имя поля" size="Размер" maxlength="Макс. количество символов">

 

При передаче данных текстового поля сценарию передается строка имя поля=введенный пользователем текст

 

6) Поле для ввода пароля

 

<input type="password" name="Имя поля" size="Размер" maxlength="Макс. количество символов">

 

При передаче данных поля для ввода пароля сценарию передается строка имя поля=введенный пользователем пароль

 

7) Кнопка отправки формы

Служит для отправки формы сценарию.

 

<input type="submit" name="Имя кнопки" value="Текст кнопки">

При создании кнопки для отправки формы необходимо указать 2 атрибута: type="submit" и value="Текст кнопки". Атрибут name необходим если кнопка не одна, а несколько и все они созданы для разных операций, например кнопки "Сохранить", "Удалить", "Редактировать" и т.д. После нажатия на кнопку сценарию передается строка имя=текст кнопки.

 

7.     Использование методов GET и POST

Создавая приложения для интернета, практически всегда необходимо работать с внешними данными, полученными извне.

Протокол HTTP позволяет передавать и считывать данные с помощью методов GET и POST. Выбор метода задают в html-формах.

Метод GET

Метод GET использует для передачи данных строку URL. Если в адресной строке браузера видим: function.php?login=ivan&email=ivanov. В данном случае данные обрабатываются в скрипте function.php. После знака вопроса "?" идет перечисление передаваемых параметров (параметр разделяются знаком "&") со значениями: параметру login присвоено значение ivan, а переменной email значение ivanov. Данные будут храниться в суперглобальном массиве $_GET. Приведем пример использования метода GET представлен ниже:

 

 

Результат выполнения выше описанного кода представлен на рисунке ниже:

 

 

Обратите внимание на то, как считываем значения из суперглобального массива $_GET:

$_GET['имя_переменной']

 В нашем примере имена переменных были объявлены в форме (name=login и name=email).

В форме можно указать имя файла, который будет обрабатывать передаваемые значения. Делается это с помощью атрибута формы action, которому можно присвоить адрес этого файла. По умолчанию этот файл присвоен текущему файлу (т.е. обрабатывается в файле, где и расположена форма). Приведем пример, в котором данные из формы передаются на обработку в файл srcipt.php:

 

В файле script.php должен содержаться какой-то обработчик информации, иначе информация будет передана впустую.

 

Метод GET обладает множеством недостатков:

·         пользователь видит значения передаваемых параметров;

·         пользователь может легко подделать передаваемые параметры;

·         неудобная передача бинарной информации (приходится кодировать в текстовый формат);

·         объем передаваемых данных ограничен - 8 Кбайт.

Из-за выше перечисленных недостатков, метод GET применяется только в тех случаях, когда нужно передать небольшой объем данных, а также эти данные никак не засекречены.

 

Метод POST

Метод POST отличается от GET тем, что данные передаются в закрытой форме. Существует суперглобальный массив $_POST, из которого можно считывать данные следующим образом:

$_POST['имя_переменной']

Например:

 

 

В браузере будет результат:

 

Как видите URL не имеет никакой приписки, но тем не менее, данные были получены и выведены.

 

Примечание:

·         Объем передаваемых значений методом POST по умолчанию ограничен и равен 8 Мбайт. Чтобы увеличить это значение нужно изменить директиву post_max_size в php.ini.

·         Перед обработкой переменных из $_POST, необходимо проверять переменные на их наличие (функцией isset).

 

8.     Способы передачи параметров сценарию

Рассмотрим метод GET для передачи запросов серверу.

Пусть на сервере в корневом каталоге размещен файл сценария script.php. Этот сценарий распознает 2 параметра: name и age. При переходе по адресу http://localhost/script.php  скрипт должен отработать и вывести следующую HTML-страницу:

 

<html><body>

Приветname! Вам age лет!

</body></html>

 

При генерации страницы нужно name и age заменить на соответствующие значения, переданные в параметрах.

 

Способ 1. Передача параметров через адресную строку браузера

Включим параметры прямо в URL, в строку параметров. Таким образом, если запустить в браузере http://localhost/script.php?name=Vasya&age=20 мы получим страницу с нужным результатом:

 

<html><body>

Привет, Vasya! Вам 20 лет!

</body></html>

 

Обратите внимание, что разделяем параметры символом &, а также используем знак равенства =.

 

Способ 2. Использование HTML-форм

Пусть пользователь в удобной форме вводит свое имя и возраст. Необходимо окно, в которое осуществляется ввод параметров.

Нам понадобится обычный HTML-документ (например, с именем form.html и расположенный в корневом каталоге) с элементами диалога — полями ввода текста и кнопкой, при нажатии на которую запустится скрипт script.php. Текст документа form.html:

 

<html><body>

<form action="script.php">

Введите имя: <input type="text" name="name"><br>

Введите возраст: <input type="text" name="age"><br>

<input type="submit" value="GO!">
</form>

</body></html>

 

Загружаем документ в браузер. Если ввести в поле с именем свое имя, а в поле для возраста — свой возраст и нажать кнопку, браузер автоматически обратится к сценарию script.php и передаст через ? все атрибуты, расположенные внутри тэгов <input> в форме и разделенные символом & в строке параметров. В атрибуте action тэга <form>  задан относительный путь, т. е. сценарий script.php  будет искаться браузером в том же самом каталоге, что и файл form.html.

Использование форм позволяет не нагружать пользователя такой информацией, как имя сценария, его параметры и т. д. Он всегда будет иметь дело только с полями, переключателями и кнопками формы.

Осталось теперь только определиться, как мы можем извлечь $name и $age из строки параметров и обработать их.

Далее рассмотрим, каким же образом PHP скрипт принимает параметры запроса и обрабатывает их.

Обработка параметров запросов

Напишем сценарий, который принимает в параметрах имя пользователя и его возраст и выводит:

"Привет, <имя>! Вам <возраст> лет!"

 

То есть нужно передать в скрипт 2 параметра: name и age.

Теперь изменим скрипт script.php, принимающий два параметра: name и age, а также HTML-документ с формой, которая эти два параметра будет передавать в наш новый скрипт:

 

<?php

echo "Привет, $_GET['name'] ! Вам $_GET['age'] лет !";
?>

 

HTML-документ form.html, с помощью которого параметры name и age передадим нашему скрипту, имеет неизменный вид:

 

<html><body>

<form action="script.php">

Введите имя: <input type="text" name="name"><br>

Введите возраст: <input type="text" name="age"><br>

<input type="submit" value="GO!">
</form>

</body></html>

 

Теперь скрипт принимает два параметра name и age и выводит в браузер результат формата: "Привет, <имя>! Вам <возраст> лет!".

 

9.     Функции isset и empty

Функция isset() определяет, существует ли переменная.

 

Параметры функции isset – переменные, массив, иная структура данных.

 

Пример использования функции isset

 

$a = 10;

if (isset($a)) // вернет True

echo 'Переменная существует ';

else

echo 'Переменная не существует';

 

При назначенной переменной $a (даже если ей назначить значения 0 (ноль), False, или пустой массив), функция isset будет возвращать True. Если же переменная не назначена, то False.

 

$a = False;

if (isset($a)) // вернет True

echo 'Переменная существует ';

else

echo 'Переменная не существует';

 

Функция empty() определяет, назначена ли переменная.

Параметры функции empty – переменные, массив, иная структура данных.

 

Пример использования функции empty

 

$a = 10;

if (empty($a)) // вернет False

echo 'Переменная не назначена';

else

echo 'Переменная назначена';

 

После присвоения переменной $a значения 10, используя ее в качестве параметра, функция empty будет возвращать значение False, т.к. значение переменная есть и значение не пусто. Соответственно, будет выведено сообщение "Переменная не назначена". Если же предварительно, не назначить переменную $a, то функция вернет True, т.к. переменной нет.

Но, если назначить переменной значение 0 (ноль) или False, то функция так же вернет значение True, как будто, переменная не существует:

$a = False;

if (empty($a)) // вернет True

echo 'Переменная не назначена';

else

echo 'Переменная назначена';

 

Для таких случаев, стоит использовать функцию isset, которая проверяет назначение переменной даже со значениями ноля или False.

 

10.  Сохранение данных на форме после отправки

После нажатия кнопки submit данные из формы отправляются для обработки, и происходит сброс значений текстовых полей, флажков, переключателей и т.д. до значений по умолчанию.

Чтобы сохранить данные в текстовом поле

<input type="text" name="T1">

 

необходимо воспользоваться свойством value и задать ему значение:

<input type="text" name="T1" value="<?

echo $_POST['T1'];

?>"/>

или

<input type="text" name="T1" value="<?

echo $_GET['T1'];

?>"/>

в зависимости от метода отправки данных POST или GET, указанном в свойстве формы method.

 

Для сохранения флажка, отмеченного на форме, используют такую вставку кода php:

 

<input type="checkbox" name="C1" value="1" <?

//если флажок отмечен, то задаем ему checked

//иначе не отмечаем его

if (!empty($_POST['C1'])) echo 'checked'; echo'';

?>>

 

Функция empty — определяет, установлена ли переменная.

empty(var) возвращает FALSE, если var принимает не пустое и не нулевое значение. Другими словами, если значение var не принимает "", 0, "0", NULL, FALSE, array(), и объекты с пустыми свойствами. В противном случае функция возвращает TRUE.

 

Чтобы сохранить выбранный переключатель:

 

Для переключателя (да):

 <input type="radio" value="V1" name="R1" <?

//если переключатель равен V1, т.е. отмечен первый переключатель

//или ни один из переключателей не выбран

//то задаем ему checked, иначе не отмечаем его

if ($_POST['R1']=='V1' || empty($_POST['R1'])) echo 'checked'; else echo'';

?>>

 

Для переключателя (нет):

 <input type="radio" value="V2" name="R1" <?

//если переключатель равен V2, т.е. отмечен второй переключатель

//то задаем ему checked, иначе не отмечаем его

if ($_POST['R1']=='V2') echo 'checked'; else echo'';

?>  >

 

Чтобы сохранить выбранный элемент списка:

 

<select size="1" name="D2">

 

<option <?

//если выбран первый элемент списка, то отображаем его, иначе не отображаем

if ($_POST['D2']=='сумма') echo 'selected'; else echo'';

?>>сумма</option>

 

<option <?

if ($_POST['D2']=='разность') echo 'selected'; else echo'';

?>>разность</option>

 

<option <?

if ($_POST['D2']=='произведение') echo 'selected'; else echo'';

?>>произведение</option>

 

<option <?

if ($_POST['D2']=='частное') echo 'selected'; else echo'';

?>>частное</option>

 

</select>

 

11.  Конструкции включений в PHP

Конструкции включений позволяют собирать PHP программу (скрипт) из нескольких отдельных файлов.

В PHP существуют две основные конструкции включений: require и include.

 

Конструкция включений require

Конструкция require позволяет включать файлы в сценарий PHP до исполнения сценария PHP. Общий синтаксис require такой:

 

require имя_файла;

 

При запуске (именно при запуске, а не при исполнении!) программы интерпретатор просто заменит инструкцию на содержимое файла имя_файла (этот файл может также содержать сценарий на PHP, обрамленный, как обычно, тэгами <? и ?>). Причем сделает он это непосредственно перед запуском программы (в отличие от include, который рассматривается ниже). Это бывает довольно удобно для включения в вывод сценария различных шаблонных страниц HTML-кодом. Приведем пример:

Файл header.html:
<html>
<head><title>It is a title</title></head>
<body bgcolor=green>

 

Файл footer.html:
&copy; Home Company, 2005.
</body></html>

 

Файл script.php
<?php

require "header.htm";

// Сценарий выводит само тело документа

require "footer.htm";
?>

Таким образом, конструкция require позволяет собирать сценарии PHP из нескольких отдельных файлов, которые могут быть как html-страницами, так и php-скриптами.

 

Конструкция включений include

Конструкция include также предназначена для включения файлов в код сценария PHP.

В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во время выполнения сценария. Синтаксис конструкции include выглядит следующим образом:

 

include имя_файла;

 

Поясним принципиальную разницу между конструкциями require и include на конкретном практическом примере. Создадим 10 файлов с именами 1.txt, 2.txt и так далее до 10.txt, содержимое этих файлов - просто десятичные цифры 1, 2 ...… 10 (по одной цифре в каждом файле). Создадим такой сценарий PHP:

 

<?php

// Создаем цикл, в теле которого конструкция include

for($i=1; $i<=10; $i++) 

{

include "$i.txt";
}
// Включили десять файлов: 1.txt, 2.txt, 3.txt ... 10.txt
//
 Результат - вывод 12345678910

?>

 

В результате мы получим вывод, состоящий из 10 цифр: "12345678910". Из этого мы можем сделать вывод, что каждый из файлов был включен по одному разу прямо во время выполнения цикла! Если мы поставим теперь вместо include require, то сценарий сгенерирует критическую ошибку (fatal error). Сравните результат.

PHP преобразует сценарий во внутреннее представление, анализируя строки сценария по очереди, пока не доходит до конструкции include. Дойдя до include, PHP прекращает транслировать сценарий и переключается на указанный в include файл. Таким образом, из-за подобного поведения транслятора, быстродействие сценария снижается, особенно при большом количестве включаемых с помощью include файлов. С require таких проблем нет, поскольку файлы с помощью require включаются до выполнения сценария, то есть на момент трансляции файл уже включен в сценарий.

Таким образом, целесообразнее использовать конструкцию require там, где не требуется динамическое включение файлов в сценарий, а конструкцию include использовать только с целью динамического включения файлов в код PHP скрипта.

 

Конструкции однократного включения require_once и include_once

В больших PHP сценариях инструкции include и require применяются очень часто. Поэтому становится довольно сложно контролировать, как бы случайно не включить один и тот же файл несколько раз, что чаще всего приводит к ошибке, которую сложно обнаружить.

В PHP предусмотрено решение данной проблемы. Используя конструкции однократного включения require_once и include_once, можно быть уверенным, что один файл не будет включен дважды. Работают конструкции однократного включения require_once и include_once так же, как и require и include соответственно. Разница в их работе лишь в том, что перед включением файла интерпретатор проверяет, включен ли указанный файл ранее или нет. Если да, то файл не будет включен вновь.

 

12.  Математические функции

Библиотека математических функций PHP реализует методы для тригонометрических вычислений, числовых преобразований и числовых операций. Тригонометрические функции воспринимают параметры в радианах, но существуют функции преобразования градусов в радианы и наоборот.

 

abs( ) – абсолютное значение числа.

echo abs(-0.7); // Выводит 0.7

 

acos( ) – арккосинус, выраженный в радианах.

echo acos(-0.7); // Выводит 2.3461938234056

 

asin( ) – арксинус, выраженный в радианах.

echo asin(-0.7); // Выводит -0.77539749661075

 

atan( ) – арктангенс, выраженный в радианах.

echo atan(-0.7); // Выводит -0.61072596438921

 

ceil( ) – округление числа в большую сторону.

echo ceil(2.35); // Выводит 3

 

cos( ) – косинус аргумента, выраженного в радианах.

echo cos(2.35); // Выводит -0.70271307677355

 

deg2rad( ) – преобразует градусы в радианы.

echo deg2rad(90); // Выводит 1.5707963267949

 

exp( ) – экспонента числа.

echo exp(1); // Выводит 2.718281828459

 

floor( ) – округление числа в меньшую сторону.

echo floor(2.99); // Выводит 2

 

fmod(x,y) – остаток от деления x на y.

echo fmod(4.5,2); // Выводит 0.5

 

getrandmax( ) – максимальное число, которое может быть получено в результате вызова функции rand( ).

echo getrandmax( ); // Выводит 32767

 

hypot(x,y) – длина гипотенузы прямоугольного треугольника со сторонами x и y.

echo hypot(4,5); // Выводит 6.4031242374328

 

is_nan() – проверяет, является ли значение "не-числом".

echo is_nan(200); // Выводит 1

echo is_nan(acos(1.01));  // Ничего не выводит

is_numeric() - определяет, является ли переменная числом

 

lcg_value( ) – псевдослучайное число в диапазоне от 0 до 1.

 

log( ) – натуральный логарифм.

echo log(exp(1)); // Выводит 1

echo log(2.718);  // Выводит 0.99989631572895

 

log10( ) – десятичный логарифм.

echo log(1000); // Выводит 3

 

max( ) – наибольшее значение из списка параметров. Возможно сравнение неограниченного количества значений. В качестве параметра может быть задан массив.

echo max(12.23, 42.554, 58.234, 34.31);  // Выводит 58.234

$a = array(12.23, 42.554, 58.234, 34.31);

echo max($a);                            // Выводит 58.234

 

min( ) – наибольшее значение из списка параметров. Возможно сравнение неограниченного количества значений. В качестве параметра может быть задан массив.

echo min(12.23, 42.554, 58.234, 34.31);  // Выводит 12.23

$a = array(12.23, 42.554, 58.234, 34.31);

echo min($a);                            // Выводит 12.23

 

number_format( ) – форматирует число. Аргументы: форматируемое число, число знаков после запятой, символ, используемый вместо десятичной точки (необязательно), символ разграничения тысяч (необязательно).

$a = 3456787 * log(2.718);

echo number_format($a, 4, ",", "'"); // Выводит 3'456'428,5856

 

pi( ) – приближенное значение числа π.

echo pi(); // Выводит 3.1415926535898

 

pow( ) – возведение в степень. Аргументы: основание и показатель степени.

echo pow(2, 3); // Выводит 8

 

rad2deg( ) – преобразует радианы в градусы.

echo rad2deg(pi()/4); // Выводит 45

 

round( ) – округление числа до ближайшего целого.

echo round(6.45656); // Выводит 6

 

sin( ) – синус аргумента, выраженного в радианах.

echo sin(pi()/2); // Выводит 1

 

sqrt( ) – квадратный корень числа.

echo sqrt(121); // Выводит 11

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.      Что такое PHP? Для чего он создан?

2.      Как развивался язык PHP?

3.      Назовите способы вставки PHP в HTML.

4.      Что такое локальный сервер denwer?

5.      Использование переменных в PHP.

6.      Как выполняется передача данных из экранных форм в PHP-сценарии?

7.      Опишите метод GET.

8.      Опишите метод POST.

9.      Какие существуют способы передачи параметров сценарию?

10.  Назначение функций isset и empty.

11.  Как сохранить данные в текстовых полях, списках, переключателях, флажках на форме после отправки?

12.  Опишите конструкции включений include и require.