Лабораторная работа № 1. Введение в php
По сути своей любой PHP-скрипт ‑ это обычный текстовый файл, который, помимо простого текста (или HTML-кода), содержит в себе команды PHP.
Когда пользователь обращается к такому скрипту, запрос передаётся серверу, который действует следующим образом: всё, что не является PHP-кодом, просто передаётся пользователю без изменений, но как только обработчик встречает метку начала PHP-кода, он выполняет этот код и «отдаёт» пользователю результат обработки.
PHP-код может находиться в любой части документа и может быть включен в документ одним из двух способов:
<?php PHP-код ?> |
или |
<? PHP-код ?> |
Основные правила написания программы на РНР:
в именах переменных и функций большие и малые буквы различаются;
в конце каждого оператора (команды) указывается точка с запятой (;);
специального символа переноса оператора на другую строчку нет – переносить можно с любой позиции в которой можно указать пробел (слова не разрываются при переносе оператора).
Переменные в PHP
Переменные в РНР объявляются при первом их использовании в программе. Тип переменной косвенно определяется по типу хранящихся в ней данных.
Имена переменных:
начинаются со знака доллара ($);
могут содержать только латинские буквы, цифры, символы подчеркивания;
состоят из одного или нескольких символов и начинаются с буквы или символа подчеркивания;
не может совпадать с каким-либо из стандартных ключевых слов РНР;
учитывается регистр символов.
С любыми переменными можно производить весь набор стандартных математических операций и некоторые дополнительные операции.
Таблица 1. Основные операции для работы с переменными
Знак |
Назначение |
Пример |
+ |
Сложение двух переменных. |
$v = 1; $k = 2; $s = $v + $k; // $s = 3 |
– |
Вычитание одной переменной из другой |
$v = 1; $k = 2; $s = $v - $k; // $s = –1 |
* |
Произведение переменных |
$v = 1; $k = 2; $s = $v * $k; // $s = 2 |
/ |
Деление одной переменной на другую |
$v = 1; $k = 2; $s = $v / $k; // $s = 0.5 |
% |
Остаток от целочисленного деления |
$v = 1; $k = 2; $s = $v % $k; // $s = 1 |
++ |
Инкремент (увеличение на единицу) |
$v = 6; $s = $v++; // $s = 6, а $v = 7 $v = 6; $s = ++$v; // $s = 7, и $v = 7 |
– – |
Декремент (уменьшение на единицу) |
$v = 6; $s = $v--; // $s = 6, а $v = 5 $v = 6; $s = --$v; // $s = 5, и $v = 5 |
• точка |
Сложение двух строк (конкатенация) |
$v = "Как"; $k ="Вас"; $m="зовут?"; $s = $v . " " . $k . " " . $m; // $s = "Как Вас зовут?" |
?= |
Составное присваивание.
Вместо знака ?должен быть подставлен один из знаков операций:+ - * / % . |
$a = 3; $b = 1; $b += $a; // $b = 3 $a = 2; $b = 1; $b -= $a; // $b = –1 $a = 3; $b = 2; $b *= $a; // $b = 6 $a = 5; $b = 1; $b /= $a; // $b = 0.2 $a = "Здравия"; $b = "Желаю"; $b .= $a; // $b = "Желаю Здравия" $a = 5; $b = 17; $b %= $a; // $b = 2 |
Таблица 2. Логические операторы
Обозначение |
Название |
Пример |
and && |
И |
$a and $b $a && $b |
or || |
ИЛИ |
$a or $b $a || $b |
xor |
Исключающее ИЛИ |
$a xor $b |
! |
Инверсия (NOT) |
! $a |
Таблица 3. Операторы сравнения
Обозначение |
Название |
Пример |
== |
Равенство |
$a == $b |
=== |
Эквивалентность |
$a === $b |
!= <> |
Неравенство |
$a != $b $a <> $b |
!== |
Неэквивалентность |
$a !== $b |
< |
Меньше |
$a < $b |
> |
Больше |
$a > $b |
<= |
Меньше или равно |
$a <= $b |
>= |
Больше или равно |
$a >= $b |
Функции ввода
В РНР существует несколько способов вывода информации на страницу:
Операторы echo и print выводят значение аргумента:
echo <строка>; print (<строка>);
Работают одинаково, но print всегда возвращает 1, в то время как echo ничего не возвращает.
var_dump (<переменная>); ‑ выводит переменную вместе с типом.
Замечания:
Строковое выражение может быть взято как в одинарные, так и в двойные кавычки.
Если используются двойные кавычки, то вместо имен переменных будут выводиться их значения.
Функции для работы с переменными:
1. Функция isset (переменная) возвращает true, если данная переменная существует (т.е. определена в программе).
2. Процедура unset (переменная); удаляет данную переменную из внутренних таблиц интерпретатора.
3. Функции определения типа переменных:
is_integer (переменная) ‑ возвращает true, если переменная ‑ целое число;
is_double (переменная) ‑ возвращает true, если переменная ‑ действительное число;
is_string (переменная) ‑ возвращает true, если переменная ‑ строка;
is_numeric (переменная) ‑ возвращает true, если переменная является числом или строковым представлением числа (строка состоящая из цифр);
is_bool (переменная) ‑ возвращает true, если переменная является логической;
is_array (переменная) ‑ возвращает true, если переменная ‑ массив;
gettype (переменная) ‑ возвращает строку, соответствующую типу переменной (integer, double, string...).
4. Процедура settype (переменная, тип данных); преобразует значение переменной из одного типа в другой.
Генерация случайных чисел
Функция lcg_value ( )возвращает случайное дробное число в диапазоне от 0 до 1.
Функция rand ([int start, int end]) возвращает случайное число из диапазона, заданного начальным значениемstartи конечным значениемend. Если значения не заданы, то возвращается случайное число от 0 до максимально-возможного значения (дляWindowsобычно до 32767).
Максимально-возможное значение можно определить функцией getrandmax ( ).
Перед тем как первый раз генерировать случайное число, нужно инициализировать генератор путем вызова функции srand ( ).
Пример:
-
<?php
srand();
echo 'Наибольше случайное число - ' . getrandmax();
$a = rand();
$b = rand(1,50);
$c = lcg_value();
echo '<br> rand() = ' . $a;
echo '<br> rand(1,50) = ' . $b;
echo '<br> lcg_value() = ' . $c;
?>
Замечание. Начиная с версии PHP 4.2.0 не нужно вызывать srand() – PHP делает это автоматически.
Константы
Константы объявляются в РНР при помощи процедуры defme():
define('CONSTANT', value); или define(“CONSTANT”, value);
'CONSTANT' ‑ имя константы, value ‑ её значение. При использовании константы на неё ссылаются по имени. Например:
define ('CONSTANT1', Группа) ;
define("CONSTANT2", "\x20"); // код пробела
define('CONSTANT3', 303);
По традиции имена констант пишут буквами верхнего регистра.
Существует функция defmed('CONSTANT'), которая проверяет, определена ли константа. Функция возвращает true, если константа определена в теле программы выше вызова данной функции.