Практическая работа № 2
Тема «Операторы PHP»
Цели работы:
познакомиться с операторами PHP.
Задание 1. Оператор присваивания. Арифметические операторы
1. Создать в блокноте документ PHP2_1_1.php, следующего содержания:
<?php
$a = 100; // переменная $a содержит значение 100, тип данных integer
echo $a % 7; // 2
$b = 2;
// переменной $c присваивается значение выражения $a * $b
// т.е. переменная $c будет содержать результат перемножения двух переменных
$c = $a * $b; // 200
?>
Сокращенная запись операторов присваивания
Оператор Операция Пример Сокращённая форма оператора
+= Присвоить левому операнду, сумму значений правого и левого операндов. $a = $a + $b $a += $b
*= Присвоить левому операнду, множество значений правого и левого операндов. $a = $a * $b $a *= $b
-= Присвоить левому операнду, разность значений правого и левого операндов. $a = $a - $b $a -= $b
/= Присвоить левому операнду, частное значений правого и левого операндов. $a = $a / $b $a /= $b
%= Присвоить левому операнду, остаток значений правого и левого операндов. $a = $a % $b $a %= $b
2. Создать в блокноте документ PHP2_1_2.php, следующего содержания:
<?php
$addition = 2 + 4;
$subtraction = 6 - 2;
$multiplication = 5 * 3;
$division = 15 / 3;
$modulus = 5 % 2;
echo "Пример сложения: 2 + 4 = ".$addition."<br />";
echo "Пример вычитания: 6 - 2 = ".$subtraction."<br />";
echo "Пример умножения: 5 * 3 = ".$multiplication."<br />";
echo "Пример деления нацело: 15 / 3 = ".$division."<br />";
echo "Пример остатка от деления: 5 % 2 = " . $modulus;
?>
Оператор инкремента
3. Создать в блокноте документ PHP2_1_3.php, следующего содержания:
<?php
$a = 100; // Префиксная форма оператора инкремента
echo ++$a; // 101
// Постфиксная форма оператора инкремента
echo $a++; // 101
?>
Разница между префиксной и постфиксной формой операторов, заключается в том, что при префиксной форме, вначале происходит увеличение значения на единицу, а затем возвращается значение операнда. Постфиксная форма оператора, наоборот, сначала возвращает значение, а затем увеличивает значение на единицу.
Операции инкремента и декремента можно применять только к единственной переменной. К выражениям и константам эти операторы не применимы! Ошибки: ++1 (константа); ++($a-$b)(выражение)
Инкремента префиксная и постфиксная
4. Создать в блокноте документ PHP2_1_4.php, следующего содержания:
<?php
for($i=0; $i<5;)
{
echo ++$i . , ; // 1, 2, 3, 4, 5,
}
echo <br>;
for($i=0; $i<5;)
{
echo $i++ . , ; // 0, 1, 2, 3, 4,
}
?>
В первом цикле к нулю прибавляется единица и сразу выводится и т.д., а во втором примере, вначале выводится ноль, так как переменная $i содержит ноль, а затем прибавляется единица и т.д.
Оператор инкремент в работе с типом данных string
5. Создать в блокноте документ PHP2_1_5.php, следующего содержания:
<?php
for($i="a"; $i<"z";)
{
echo ++$i . ; // b c d e f g h i j k l m n o p q r s t u v w x y z
}
echo <br>;
for($i="a"; $i<"z";)
{
echo $i++ . ; // a b c d e f g h i j k l m n o p q r s t u v w x y
}
?>
Задание 2. Операторы сравнения
1. Создать в блокноте документ PHP2_2_1.php, следующего содержания:
<?php
echo FALSE; // пусто
echo TRUE; // 1
?>
Операторы сравнения
Оператор Операция Пример Результат
> Больше 1 > 0 true
1 > 1 false
>= Больше или равно 1 >= 1 true
< Меньше 1 < 0 false
1 < 1 false
<= Меньше или равно 1 <= 1 true
== Равно 1 == 0 false
1 == 1 true
!= Не равно 1 != 0 true
1 != 1 false
1 != "1"
=== Эквивалентен 0 === 0 true
0 === " " false
0 === NULL false
!== Не эквивалентен 0 !== 1 true
1 !== "1"
NULL - это константа, которая обозначает неизвестность.
Задание 3. Константа NULL в работе
1. Создать в блокноте документ PHP2_3_1.php, следующего содержания:
<?php
// если ноль эквивалентен константе NULL, то выводим yes
// в противном случаи выводим no!
if(0 === NULL) echo yes;
else echo no!; // no!
?>
Задание 4. Операторы выбора
Условный оператор
1. Создать в блокноте документ PHP2_4_1.php, следующего содержания:
<?php
$a = 20;
$b = 100;
// Это условие. Если переменна b больше переменной а ...
if($b > $a)
{ // ... то выводим эту запись
echo "$b больше $a";
}
else
{ //...в противном случаи, выводим эту запись на монитор
echo "$a больше $b";
}
?>
2. Создать в блокноте документ PHP2_4_2.php, следующего содержания:
<?php
$a = 5;
if($a != 7) echo Правильно . $a . не равно 7; // Правильно 5 не равно 7
?>
3. Создать в блокноте документ PHP2_4_3.php, следующего содержания:
<?php
$my_name = "Вася";
if ( $my_name == "Вася" ) {
echo "Привет, Вася!<br />";
}
echo "Добро пожаловать на мою страницу!";
?>
Логический оператор && (и)
4. Создать в блокноте документ PHP2_4_4.php, следующего содержания:
<?php
$a = 5;
$b = 1;
if((7+3) && false)
{ echo всё выражение true;}
Else
{echo всё выражение false;} // всё выражение false
echo <br>;
if( 7+3 && true && 2-1 )
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
echo <br>;
if( 7+3 && 0)
{ echo всё выражение true;}
Else
{echo всё выражение false;} // всё выражение false
echo <br>;
if(8-9 && 1-3)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
echo <br>;
if($a && $b)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
?>
Логический оператор || (или)
5. Создать в блокноте документ PHP2_4_5.php, следующего содержания:
<?php
$a = 5;
$b = 1;
if($a + $b || $b)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
if($b || false)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
if(false || true)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
if(false || false)
{ echo всё выражение true;}
Else
{echo всё выражение false;} // всё выражение false
?>
Смешанное применение условных операторов
6. Создать в блокноте документ PHP2_4_6.php, следующего содержания:
<?php
$a = 5;
$b = 1;
if($a + $b || $b && true)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
if($a + $b || $b && $b == $a)
{ echo всё выражение true;} // всё выражение true
Else
{echo всё выражение false;}
if(($a + $b || $b ) && ($b == $a))
{ echo всё выражение true;} // всё выражение false
Else
{echo всё выражение false;}
?>
Ветвление с условным оператором if
7. Создать в блокноте документ PHP2_4_7.php, следующего содержания:
<?php
$name = user;
$pass = 123456;
if($name == user)
{
if($pass == 123456)
{
echo Здравствуйте . $name . , вы ввели правильные данные авторизации.;
}
Else
{
echo Вы ввели не верный пароль.;
}
}
else
{
echo Вы ввели не правильное имя, попробуйте ещё раз.;
}
?>
Дополнительный условный оператор elseif
elseif - существует для проверки множественного условия в операторе if. elseif может быть сколько угодно в конструкции if, но при этом else, может быть только один. Он как правило подводит итог всех условий, и если не одно условие elseif не сработало, то вход вступает else.
8. Создать в блокноте документ PHP2_4_8.php, следующего содержания:
<?php
$name = user;
$pass = 123456;
$phone = 555;
// Пример 1
if($name == user)
{
echo Здравствуйте . $name ; // Здравствуйте user
}
elseif($pass == 123456)
{
echo Вы ввели правильный пароль .$pass..;
}
elseif($phone == 555)
{
echo Вы ввели правильный телефон .$phone..;
}
Else
{
echo Данные не верны!;
}
// Пример 2
if($name != user)
{
echo Здравствуйте . $name ;
}
elseif($pass == 123456)
{
echo Вы ввели правильный пароль .$pass..; // Вы ввели правильный пароль 123456.
}
elseif($phone == 555)
{
echo Вы ввели правильный телефон .$phone..;
}
Else
{
echo Данные не верны!;
}
// Пример 3
if($name != user)
{
echo Здравствуйте . $name ;
}
elseif($pass != 123456)
{
echo Вы ввели правильный пароль .$pass..;
}
elseif($phone == 555)
{
echo Вы ввели правильный телефон .$phone..; // Вы ввели правильный телефон 555.
}
Else
{
echo Данные не верны!;
}
// Пример 4
if($name != user)
{
echo Здравствуйте . $name ;
}
elseif($pass != 123456)
{
echo Вы ввели правильный пароль .$pass..;
}
elseif($phone != 555)
{
echo Вы ввели правильный телефон .$phone..;
}
Else
{
echo Данные не верны!; // Данные не верны!
}
?>
Не рекомендуется применять оператор elseif - плохая читабельность кода, запутанность. Если нужно применить условия выбора, лучше использовать оператор выбора switch.
Условная операция в PHP
Синтаксис условной операции:
выражение1 ? выражение2 : выражение3
Если выражение1 равно true, то выполняется выражение2, если же выражение1 равно false, то выполняется выражение3.
9. Создать в блокноте документ PHP2_4_9.php, следующего содержания:
<?php
$a = 5;
$b = 7;
// Вариант с конструкцией if
if($a < $b)
{
echo $a;
}
Else
{
$a = $b;
echo $a;
}
// Это то же самое только короче
// Переменная $a всегда будет содержать наименьшее число
$a = ($a < $b) ? $a : $b; // 5
echo $a;
?>
Задание 5. Оператор Switch
Переключатель
Берет одну переменную в качестве входных данных, а затем проверяет ее на выполнение того или иного условия, которые задает пользователь.
1. Создать в блокноте документ PHP2_5_1.php, следующего содержания:
<?php
$destination = "Tokyo";
echo "Отправляемся в $destination<br />";
switch ($destination){
case "Las Vegas":
echo "Берем с собой $5000! Вегас, детка!";
break;
case "Amsterdam":
echo "Парочка газет, фольга...";
break;
case "Egypt":
echo "50 бутылок солнцезащитного крема.";
break;
case "Tokyo":
echo "Берем деньги на сувениры.";
break;
case "Caribbean Islands":
echo "Захватите одежду для плавания!";
break;
}
?>
Примечание: каждый случай содержит break, который позволяет во всех остальных случаях ничего не выполнять. Если бы в приведенном выше примере не было брейка, то код бы выполнялся не только в случае значения Токио!
2. Создать в блокноте документ PHP2_5_2.php, следующего содержания:
<?php
$destination = "Tokyo";
echo "Отправляемся в $destination<br />";
switch ($destination){
case "Las Vegas":
echo "Берем с собой $5000! Вегас, детка!";
break;
case "Amsterdam":
echo "Парочка газет, фольга...";
break;
case "Egypt":
echo "50 бутылок солнцезащитного крема.";
break;
case "Tokyo":
echo "Берем деньги на сувениры.";
break;
case "Caribbean Islands":
echo "Захватите одежду для плавания!";
break;
default: // действие по умолчанию
echo "Бельишко чистое не забудьте!";
break;
}
?>
Задание 6. Операторы цикла
Цикл For со счетчиком
1. Создать в блокноте документ PHP2_6_1.php, следующего содержания:
<?php
$m = 5;
echo "<table border="1" align="center">";
echo "<tr><th>Переменная c</th>";
echo "<th>Произведение c * m</th></tr>";
for ( $c = 3; $c <= 11; $c +=3) {
echo "<tr><td>";
echo $c;
echo "</td><td>";
echo $m * $c;
echo "</td></tr>";
}
echo "</table>";
?>
Цикл While
2. Создать в блокноте документ PHP2_6_2.php, следующего содержания:
<?php
$i = 1;
while ($i <= 10) {
echo $i;
$i++;
}
?>
Цикл Do while
3. Создать в блокноте документ PHP2_6_3.php, следующего содержания:
<?php
$cookies = 0;
do {
echo "Мммм! Люблю печеньки! *хрум-хрум-хрум*";
} while ($cookies > 1);
?>
Самостоятельная работа
Создать php файл examples2.php, находящий корни квадратного уравнения. Предусмотреть все варианты.
За выполненные задания:
Самостоятельная работа Баллы
Задание 1- Задание 5
Задание 1- Задание 6
Все задания + Сам. работа 3 балла
4 балла
5 баллов
Операторы PHP
Практическая работа по предмету «Web-программирование»