Значение False преобразуется в пустую строку, а True в 1. Любые числа преобразуются в строку, содержащую цифры этих чисел.
Задание 7. Приведение типа данных.
Приведение типа данных используется в тех случаях, когда изменение типа переменной не требуется.
<?php
$a="ПИЭ2-02";//Тип string
?>
<html>
<HEAD>
<TITLE>
<?php
echo $a;
?>
</TITLE>
</HEAD>
<BODY>
<?php
$test=13.666; //присваиваем значение 13.666
echo gettype($test); //выводит double
echo "<br>";
echo (integer)$test;//выводит 13
echo "<br>";
echo gettype($test);//выводит double
?>
</BODY>
</html>
Преобразование типов данных функцией settype() и рассмотренной конструкцией (приведенный тип данных)$имя переменной эквивалентны. Отличие в том, что settype() изменяет тип переменной, а рассмотренная конструкция создает временную копию требуемого типа.
Задание 8. Арифметические операции.
Существуют следующие арифметические операции в PHP.
· сложения $a + $b
· вычитания $a - $b
· умножения $a * $b
· деления $a / $b
· остаток от деления $a % $b.
Пример:
<?php
$zagolovok="ПИЭ2-02";//Тип string
?>
<html>
<HEAD>
<TITLE>
<?php
echo $zagolovok;
?>
</TITLE>
</HEAD>
<BODY>
<?php
$a=2; //присваиваем значение 2
$b=3; //присваиваем значение 3
echo "a=",$a," b=",$b;
echo "<br>";
echo "a+b=",$a+$b;//сложить
echo "<br>";
echo "a-b=",$a-$b;//вычисть
echo "<br>";
echo "a*b=",$a*$b;//умножить
echo "<br>";
echo "a/b=",$a/$b;//разделить
echo "<br>";
echo "a%b=",$a%$b;//остаток от деления
echo "<br>";
?>
</BODY>
</html>
При выполнении операции деления, естественно, нужно отслеживать значение правого делителя, т.к. он может равняться 0 (и при этом возникает предупреждение об ошибке). При нахождении остатка от деления необходимо использования целых чисел, иначе результат может быть неверным.
Задание 9. Операторы отношения.
Пример выполнения данного задания:
<html>
<HEAD>
<TITLE>
<?php
echo "Операторы отношения"; //Это комментарий в PHP, но не в HTML
?>
</TITLE>
</HEAD>
<BODY>
<?php
$a=2;
$b=5;
$c="4";
echo "a=",$a,"<br>";
echo "b=",$b,"<br>";
echo "c=",$c,"<br>";
echo "a=b?",($a==$b),"<br>"; //выведет 1 если истина, или пустую строку если ложь
echo "a>b?",($a>$b),"<br>";
echo "a<b?",($a<$b),"<br>";
echo "a>=b?",($a>=$b),"<br>";
echo "a<=b?",($a<=$b),"<br>";
echo "a!=b?",($a!=$b),"<br>";
echo "a===b?",($a===$b),"<br>";
echo "a===c?",($a===$c),"<br>";
?>
</BODY>
</html>
Операторы отношения применяются для сравнения значений. Обычно сравниваются числа, но PHP позволяет применять их к строкам. Выражения, всегда имеют значение типа Boolean.
Проверка на равенство: $a = = $b;
Проверка на неравенство: $a != $b;
Проверка на меньше: $a < $b;
Проверка на больше: $a >$b;
Проверка на меньше или равно: $a <= $b;
Проверка на больше или равно: $a >= $b;
Проверка на идентичность: $a = = = $b;
При проверки на идентичность сравниваются не только значения, но и тип данных.
Задание 10. Логические операторы.
Логические операции выполняют операции булевской алгебры, т.е. работают со значениями типа Boolean.
Логическое «И» для PHP: $a and $b.
Логическое «ИЛИ» для PHP: $a or $b.
Исключающее «ИЛИ» для PHP: $a XOR $b.
Задание 11. Оператор условия.
Конструкция оператора условия:
If (выражение) действие;
Else действие;
Пример выполнения данного задания:
<html>
<HEAD>
<TITLE>
<?php
echo "Операторы отношения"; //Это комментарий в PHP, но не в HTML
?>
</TITLE>
</HEAD>
<BODY>
<?php
$a=4;
$b=5;
echo "a=",$a,"<br>";
echo "b=",$b,"<br>";
echo "a больше b??";
echo "<br>";
if ($a > $b) echo "Это конечно же правда!";
else echo "Это ложь, клевета и наговоры!";
echo "<br>";
echo "a меньше b??";
echo "<br>";
if ($a < $b) echo "Это конечно же правда!";
else echo "Это ложь, клевета и наговоры!";
?>
</BODY>
</html>
Конструкция данного может измениться в том случае, если вам не надо выполнять никаких действий в случае значения выражения равное false. В таком случае она становится:
If (выражение) действие;
Если действие не одно должно быть выполнено, то для этого используют «{», «}».
Пример:
<html>
<HEAD>
<TITLE>
<?php
echo "Операторы отношения"; //Это комментарий в PHP, но не в HTML
?>
</TITLE>
</HEAD>
<BODY>
<?php
$a=4;
$b=5;
echo "a=",$a,"<br>";
echo "b=",$b,"<br>";
echo "a больше b??";
echo "<br>";
if ($a > $b) {echo "Это конечно же правда!";
echo "А по другому и не могло быть";}
else {echo "Это ложь, клевета и наговоры!";
echo "Ура у нас такой результат";}
echo "<br>";
echo "a меньше b??";
echo "<br>";
if ($a < $b) echo "Это конечно же правда!";
else echo "Это ложь, клевета и наговоры!";
?>
</BODY>
</html>
Для расширения возможностей условного оператора if в PHP ввели конструкцию elseif.
If (выражение) {действие 1;
действие 2;}
ElseIf (выражение) {действие 3;
действие 4;}
Else {действие 5;
действие 6;}
Задание 12. Оператор цикла for.
Конструкция оператора:
For (выражение1; выражение2; выражение3) действие;
Выражение1 – задает начальные значения и определяется один раз перед входом в цикл.
Выражение2 – определяет условие нахождения в цикле.
Выражение3 – действие, которое нужно выполнить по завершению итерации.
Пример:
<html>
<HEAD>
<TITLE>
<?php
echo "Оператор цикла for"; //Это комментарий в PHP, но не в HTML
?>
</TITLE>
</HEAD>
<BODY>
<?php
for ($i=1; $i<=10; $i=$i+1)
{
echo "i=",$i,"<br>";
}
?>
</BODY>
</html>
Существует особенность выражений оператора for – это то, что они могут состоять из нескольких выражений. Пример:
for ($i=1, $j=1; $i<=10, $j>10; $i=$i+1, $j=$j+2)
В данном примере количество итераций составит 5 раз.
Задание 13. Оператор цикла while.
Конструкция оператора:
While (выражение) действие; //выполнять пока выражение равно true
Данный оператор с предусловием, т.е. сначала проверится условие потом в случае положительного результата выполниться действие.
Пример использования:
<html>
<HEAD>
<TITLE>
<?php
echo "Оператор цикла While "; //Это комментарий в PHP, но не в HTML
?>
</TITLE>
</HEAD>
<BODY>
<?php
$i=1;
while ($i<=10)
{
echo "Итерация № ",$i,"<br>";
$i=$i+1;
}
?>
</BODY>
</html>
Задание 14. Оператор цикла do…while.
Конструкция оператора:
Do действие While (выражение);
Данный оператор цикла с постусловием, т.е. сначала выполниться хотя бы 1 раз действие, потом проверится условие.
Пример:
<html>
<HEAD>
<TITLE>
<?php
echo "Оператор цикла Do... While"; //Это комментарий в PHP, но не в HTML
?>
</TITLE>
</HEAD>
<BODY>
<?php
$i=10;
do
{
echo "Цикл выполнится 1 раз";
}
while ($i<1);
?>
</BODY>
</html>
Задание 15. Индивидуальное задание № 1.
Необходимо создать следующую структуру сайта.
Банер
Меню
Главный отдел
Доп. Информация
В банере должна быть отражена информация о номере группы, в пункт «Доп. Информация» входит информация об имени автора сайта. Меню содержит 4 кнопки (графический рисунок): Главная, Задача 1, Задача 2, Задача 3, Задача 4.
На главной отразить номер лабораторной работы, цели, продолжительность, и язык программирования.
Задача 1 – вывести в одну строчку (через запятую) числа от 1 до 100.
Задача 2 – вывести в столбец числа от 1 до 100 делящиеся на 5.
Задача 3 – подсчитать сумму всех чисел от 1 до 100.
Задача 4 – реализовать на языке PHP один любой метод сортировки, реализованных на первой лабораторной работе на примере массива из 8 элементов.
Задание 16. Ввод данных с сайта и их передача скрипту
Предположим, что сложилась ситуация, когда нам нужно вводить данные в форму, расположенную на сайте и передавать их для дальнейшей обработки на web-сервер. Например, мы вводим номер задачи, нажимаем кнопку и нам показывается окно с решением выбранной задачи.
Рассмотрим пример выполнения задания 15, но несколько изменим его. Пусть вместо пункта меню, состоящего из ссылок на задачи, будет форма с одним полем для ввода, куда мы будем вводить номер задачи. Рядом с полем ввода будет располагаться кнопка, по нажатию на которую нам будет открываться окно с решением запрошенной задачи. Результат представлен на рисунке.
Для этого нам понадобится внести некоторые изменения в файл .html, созданный до этого в задании 15. Изменения коснутся раздела «Меню».
Для организации ввода данных можно использовать элемент «Форма». Данный элемент описывается двумя тэгами (открывающим <form> и закрывающим </form> ):
input - показывает, что этот элемент формы предназначен для ввода какой либо информации;
type="text" – устанавливаем тип элемента – текстовое поле;
name="Pole" – задаем имя поля для последующего обращения к нему;
size="20" – задаем длину текстового поля – для удобства по умолчанию устанавливается длина в 20 символов;
maxlength="1" – задаем максимальное количество символов, которое можно ввести в текстовое поле (применительно к нашей задаче это один символ – номер задачи).
Теперь рассмотрим надпись.
<label for="Pole">Введите номер задачи:</label>
label – тег, позволяющий выводить надписи на .html странице;
for="Pole" – указываем к какому элементу прикрепить надпись (в данном случае прикрепляем ее к полю для ввода, указывая заданное для этого поля значения после слова name);
Теперь необходимо сформировать единый .php файл, в котором будут содержаться задачи и который будет принимать значение поля ввода из документа .html.
Рассмотрим его работу на примере решения четырех маленьких задач – сложения двух чисел, вычитания двух чисел, умножения двух чисел и их деления:
$i+$j
$i-$j
$i*$j
$i/$j
Код для решения этих четырех задач будет иметь вид:
<?php
//возьмем к примеру две переменные
$i=6;
$j=3;
//решение задачи 1
$q=$i+$j;
echo "Задача 1: ",$i,"+",$j,"=",$q,"<br>";
//решение задачи 2
$q=$i-$j;
echo "Задача 2: ",$i,"-",$j,"=",$q,"<br>";
//решение задачи 3
$q=$i*$j;
echo "Задача 3: ",$i,"*",$j,"=",$q,"<br>";
//решение задачи 4
$q=$i/$j;
echo "Задача 4: ",$i,"/",$j,"=",$q,"<br>";
?>
Данный скрипт выведет нам следующее:
Предположим, что мы хотим сделать следующее: мы вводим в поле ввода номер задачи, и в отдельном окне нам открывается решение именно этой задачи (а не всех четырех). Для этого, нам нужно каким-то образом получить введенную нами в поле ввода цифру из .html документа.
В .html документе при нажатии на копку «Вывести» происходит событие, которое заносит введенное число в память сервера в следующем виде: Pole=введенная цифра.
Для того, чтобы вытащить это число и использовать его в нашем .php скрипте, мы должны вызвать следующую функцию:
$pole = ($_POST['Pole'])
В переменную $pole заносится значение параметра под именем Pole, отправленное на сервер методом POST. Это и есть наше число, введенное на .html странице.
Для того, чтобы теперь задачи выводились в соответствии с введенным номером, мы можем использовать условные операторы и тогда наш текст скрипта преобразится до:
<?php
//данная строчка используется для того, чтобы браузер
if ($pole==1) //если введена 1, значит выводим 1 задачу и т.д.
{
//решение задачи 1
$q=$i+$j;
echo "Задача 1: ",$i,"+",$j,"=",$q,"<br>";
}
elseif ($pole==2)
{
//решение задачи 2
$q=$i-$j;
echo "Задача 2: ",$i,"-",$j,"=",$q,"<br>";
}
elseif($pole==3)
{
//решение задачи 3
$q=$i*$j;
echo "Задача 3: ",$i,"*",$j,"=",$q,"<br>";
}
elseif ($pole==4)
{
//решение задачи 4
$q=$i/$j;
echo "Задача 4: ",$i,"/",$j,"=",$q,"<br>";
}
?>
Задание 17. Индивидуальное задание № 1. Средняя продолжительность жизни мужчин в России 60 лет, женщин 67. Создайте сайт, на котором запрашивается год рождения человека и его пол, а выводилось количество лет, месяцев и дней которые осталось прожить этому человеку до средней продолжительности. Может быть, это поможет кому-нибудь по другому относиться к своей жизни… Оформление сайта придумать самостоятельно - исходя из собственного настроения.