Uploaded by aksenov-n1987

PHP Лаб. работа 1

advertisement
Лабораторная работа № 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
И
&&
or
ИЛИ
||
xor
Исключающее ИЛИ
!
Инверсия (NOT)
Таблица 3. Операторы сравнения
Обозначение
==
===
!=
<>
!= =
<
>
<=
>=
Пример
$a and $b
$a && $b
$a or $b
$a || $b
$a xor $b
! $a
Название
Равенство
Эквивалентность
Пример
$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, если константа определена в теле программы
выше вызова данной функции.
ПРАКТИЧЕСКАЯ РАБОТА № 1
Во всех скриптах в заголовке окна браузера должны быть ваши фамилия и имя!
УПРАЖНЕНИЕ 1-1. Подготовительная работа
1. Запустите «Денвер».
2. На виртуальном диске «PHP-server» создайте в ней вашу личную папку (например,
PHP_Фамилия). В вашей личной папке создайте еще одну папку с именем WWW (в ней
будут располагаться все HTML и PHP-файлы вашего сайта).
3. Перезапустите «Денвер».
4. Откройте браузер и откройте в нём страницу http://192.168.0.44/student/
PHP_Фамилия/. Вы должны увидеть страницу с заголовком «Index of /» (рис. 1). Это
означает, что новый сайт создан успешно. Таким же методом Вы можете создать любой
другой сайт.
Рис. 1 - Внешний вид только что созданного сайта
5. В папке WWW только что созданного сайта создайте новый текстовый файл с именем
index.php. Откройте этот файл с помощью Блокнота и впишите в него следующий код:
<p> Дата и время:
<p> <?php
$d=date("d.m.Y
echo($d);
?>
H:i");
Рис. 2 - Результат выполнения скрипта «Дата и время»
6. Сохраните файл. Откройте в браузере страницу http://192.168.0.44/student/
PHP_Фамилия/index.php. Если Вы сделали всё правильно, то перед Вами появится
окно, показанное на рис. 2 (только дата и время будут другими).
Пояснения:
 В первой строке идёт обычный текст и HTML-тег. Они никак не обрабатываются и
просто передаются в браузер пользователя.
 Вторая строка помимо HTML-тега содержит ещё и метку начала PHP-кода. Всё, что
располагается до метки <?php, передаётся в браузер без изменений.
 Третья строка примера - первая строка PHP-кода - вычисляет текущую дату с помощью
функции date("d.m.Y H:i") и заносит её в переменную с именем $d.
 Четвёртая строка выводит переменную $d на экран. За это отвечает функция echo( ).
 Пятая строка говорит о том, что PHP-код закончился.
 Заметьте, что каждая строка заканчивается точкой с запятой (;). Этот символ является
обязательным концом каждой завершённой команды PHP.
УПРАЖНЕНИЕ 1-2
1. В папке WWW создайте новый текстовый файл с именем lab-1-1.php с кодом:
<?php
$var1= '3';
$var2 = 5;
echo $var1 . ' - ' . gettype($var1) . '<br>';
print ($var2 . ' - ' . gettype($var2) . '<br>');
$var3= 'abc';
var_dump ($var3);
echo '<br>';
$var4=123;
var_dump ($var4);
?>
2. Сохраните файл. Откройте в браузере страницу http://192.168.0.44/student/
PHP_Фамилия/lab-1-1.php.
УПРАЖНЕНИЕ 1-3
1. В папке WWW создайте новый текстовый файл с именем lab-1-2.php с кодом:
<p> Арифметические операции:
<p>
<?php
$x=12;
$y=4;
echo('12+4=' . ($x+$y) . '<br>');
echo('12-4=' . ($x-$y) . '<br>');
echo('12*4=' . ($x*$y) . '<br>');
echo('12/4=' . ($x/$y));
?>
2. Сохраните файл. Откройте в браузере страницу http://192.168.0.44/student/
PHP_Фамилия/lab-1-2.php.
3. Измените текст файла lab-1-2.php следующим образом:
<p> Арифметические операции:
<p>
<?php
$x=rand(1,10);
$y=rand(1,10);
print ($x . '+' . $y . '=' . ($x+$y) . '<br>');
print ($x . '-' . $y . '=' . ($x-$y) . '<br>');
print ($x . '*' . $y . '=' . ($x*$y) . '<br>');
print ($x . '/' . $y . '=' . ($x/$y) . '<br>');
?>
4. Сохраните файл. Откройте в браузере и несколько раз обновите страницу.
УПРАЖНЕНИЕ 1-4
1. Создайте php-скрипт lab-1-3.php, в котором создайте константу NUM_E со
значением 2.71828 (число е).
2. Выведите на экран значение этой константы в виде строки «Число e равно …».
3. Присвойте переменной $num_e1 значение константы и выведите на экран имя
переменной $num_e1, ее значение и тип (т.е. в браузере должна получиться строка вида
«$num_e1 = 2.71828 - double»).
4. Последовательно измените тип переменной $num_e1 на строковый, целый и булевский,
каждый раз отображая тип и получившееся значение переменной $num_e1.
САМОСТОЯТЕЛЬНАЯ РАБОТА № 1
Во всех скриптах в заголовке окна браузера должны быть ваши фамилия и имя!
ЗАДАЧА №1
Создайте php-скрипт lab1-5.php, в котором вычисляется значение заданного выражения
для случайных аргументов из интервала [-20, 20], а затем выводится на экран сама формула
(с заменой имен переменных на их значения) и результат вычислений. Протестируйте работу
скрипта и объясните полученный результат.
Распределение заданий по вариантам:
Вариант
Функция
1
2c  d
a
1
4
d
23
a
1
3
Вариант
Функция
6
2  c  42  d
c  a 1
2c 
2
3
2  c  51  d
d  a 1
4
c  4  d  12
a
1
2
5
4  c  d 1
a
c
2
7
d
1
2
a2  b  5
42  c 
8
b  2  c   d  52
a
1
3
9
25
d 2
c
d  a2  1
10
2c
2
d
d  a2  1
Вариант
Функция
11
d

 c    b  7 
2

2  a 1
12
d
2
2
a 1
4c 
13
c  b  23
a
 4  d 1
2
14
c
a
3
d
2
c  a 1
15
12
 73  d 2
c
a2  2  a
Download