Искать
Вы превысили запрос на
0 знаков

7. Условная конструкция if-elseif-else в PHP

Не пройден
10 заданий
свернуть практику
10 заданий

Кратко

Основы условных конструкций в PHP

- Условные конструкции используются для управления ходом программы в зависимости от условий.

- Условные операторы позволяют выразить "да" и "нет" через true и false.

- Блок if выполняется при истинном условии, блок else - при ложном.

Множественное ветвление

- Для обработки нескольких вариантов используется множественное ветвление.

- Пример: проверка возраста клиента для покупки билетов на мероприятие.

Инвертирование высказываний

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

- Оператор логического отрицания (!) используется для инвертирования условий.

- Примеры инвертирования сложных условий с использованием операторов &&, || и ==.

Улучшение читаемости кода

- Инвертирование условий упрощает код и повышает его читаемость.

- Примеры инвертирования условий для улучшения читаемости кода.

Задачи для практики

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

Следующий урок

- В следующем уроке будет рассмотрен альтернативный синтаксис условных конструкций.

В предыдущем уроке мы с вами изучили работу со строками. Давайте научимся управлять ходом нашей программы в разных условиях.

Как же мне нравятся условные конструкции, ни одна программа без них не обходится. Условные конструкции очень легки в понимании, а их использование — настоящее искусство.

Представьте, что вы идёте по улице, и все вокруг оборачиваются на вас. Вы проходите мимо магазина с выпечкой и чувствуете этот удивительный запах. Вам приходится выбирать: купить или пройти мимо? Этот выбор между «да» и «нет» можно обозначить как true и false, соответственно. Чтобы наше условие работало, нам нужно его реализовать:

Пример (php)
<?php
	$yes = true; // true также можно записать как и 1

	if ($yes) { // if вход в условие, если пременная $yes равняется true
		echo "Пойти";
	} else { // else если условие не выполнилось, отработает этот блок кода
		echo "Не пойти";
	}
?> 

После выполнения этого кода на экране выведется текст «Пойти», потому что переменная $yes равна true. В блоке if выполнится код при истинном результате условия (true), если будет false, то выполнится код в блоке else. Напишите сами сейчас вот таких простых пару штук примеров и вы всё поймёте.

Множественное ветвление

Что делать, если у нас есть два или три выбора? В этом случае поможет множественное ветвление. Представим, что к нам обратился клиент с просьбой доработать сайт для покупки билетов на мероприятие. Условие: человек должен быть не моложе 18 и не старше 50 лет. Клиент вводит свой возраст, а мы должны вывести, подходит ли он под это условие или нет.

Напишем код:

Пример (php)
<?php
	$age = 25;

	if ($age < 18) { // Всегда начинается с этого момента
		echo "Вы еще слишком молоды. Приходите когда подрастете.";
	} elseif($age >= 18 && $age < 30) { // elseif позволяет делать 
	                                    // множественное ветвление
		echo "Вы в расцвете сил! Будем гулять всю ночь?"; // Распечатает это сообщение
	} elseif ($age >= 30 && $age < 50) {
		echo "Вы достигли зрелости. Ночь будет короткой :(";
	} elseif ($age >= 50 && $age < 120) {
		echo "Вы обладаете большим жизненным опытом. Но купить проход в клуб не выйдет.";
	} else {
		echo "Ой... вы ошиблись с возрастом или вам надо в книгу рекордов гинесса :)";
	}
?> 

В коде интерпретатор сначала зайдет в первый if. Если условие окажется ложным, он перейдет по цепочке вниз до блока else. Что касается оператора &&, о нем я писал в уроке про операторы в PHP. Он означает логическую операцию "И". Например, если 25 больше 18 "И" меньше 29, то оператор < не включает число 30.

Инвертирование высказываний в конструкции if-else

`

Инвертирование условия в PHP – это процесс, при котором исходное логическое выражение заменяется на противоположное. Для достижения этого используется оператор логического отрицания (!). Рассмотрим пример: если у нас есть условие if ($a > $b), его инвертированная версия будет выглядеть так: if (!($a > $b)), что эквивалентно if ($a <= $b).

При инвертировании сложных условий следует учитывать все логические операторы, такие как &&, ||, и ==. Например, условие if ($a == $b && $c > $d) после инверсии станет if (!($a == $b && $c > $d)), что эквивалентно if ($a != $b || $c <= $d).

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

Исходное условие:

Пример (php)
<?php
	$userAge = 18;
	$hasID = true;

	if ($userAge >= 18 && $hasID) { 
		echo "Access granted";
		// Здесь мы пишем остальной код 
	} else {
		echo "Access denied"; 
	}
?> 

Инвертированное условие:

Пример (php)
<?php
	$userAge = 18;
	$hasID = true;
	
	if (!($userAge >= 18 && $hasID)) { 
		echo "Access denied"; 
	}

	// Здесь остальной код
?> 

В этих примерах мы с вами разобрали одно условие, где у нас есть два значения: возраст $userAge и удостоверение личности $hasId. В первом случае, если условие выполняется, мы сразу в этом блоке пишем остальной код программы, что может быть затруднительно. Во втором примере применено инвертирование: если условие не выполняется, выводится Access denied, а остальной код пишется ниже, что улучшает читаемость кода. Конечно, условие можно было написать и по-другому, но этим вы уже займётесь в задачах. Главное — потренируйтесь (по началу я тоже путался и задавался вопросом, зачем они нужны, но в реальном программировании они всегда выручают, поверьте мне).

Вы думаете это всё? В следующем уроке изучим альтернативный синтаксис условных конструкций. Решайте задачи и переходите к следующему уроку.

Задания

1. Проверка четности числа: Напишите программу, которая принимает число и выводит "Четное", если число четное, и "Нечетное" — если нечетное. (привет математика).

2. Проверка совершеннолетия: Напишите скрипт, который принимает возраст пользователя и выводит "Вы совершеннолетний", если возраст больше или равен 18, и "Вы несовершеннолетний" — если меньше.

3. Проверка температуры: Программа должна принимать значение температуры и выводить "Жарко", если температура больше 30 градусов, и "Прохладно" — если 30 и ниже.

4. Скидка на покупку: Напишите код, который проверяет сумму покупки. Если сумма больше 1000, применяйте скидку 10% и выводите новую цену. Если меньше или равна 1000, выводите полную цену без скидки.

5. Напишите программу, которая принимает значение текущего часа (0–23) и выводит:

    • "Доброе утро" — если время с 5 до 11 часов.
    • "Добрый день" — если с 12 до 17.
    • "Добрый вечер" — если с 18 до 22.
    • "Доброй ночи" — если с 23 до 4.

6. Напишите код, который принимает оценку (0-100) и выводит:

  • "Отлично" — если оценка 90 и выше.
  • "Хорошо" — если от 70 до 89.
  • "Удовлетворительно" — если от 50 до 69.
  • "Неудовлетворительно" — если ниже 50.

7. Создайте программу, которая принимает день недели (1-7) и выводит режим работы:

  • "Магазин закрыт" — если это понедельник (1).
  • "Магазин работает с 9:00 до 18:00" — если это вторник-пятница (2-5).
  • "Магазин работает с 10:00 до 16:00" — если это суббота (6).
  • "Магазин работает с 11:00 до 15:00" — если это воскресенье (7).

8. Программа принимает возраст и выводит категорию билета:

  • "Детский" — если возраст до 12 лет.
  • "Подростковый" — если от 13 до 17 лет.
  • "Взрослый" — если от 18 до 64 лет.
  • "Пенсионный" — если 65 лет и старше.

9. Проверка на отсутствие данных: Напишите код, который проверяет переменную на отсутствие значения (пустая строка или null) и выводит "Пожалуйста, введите данные", если переменная пуста. В противном случае выводит "Данные приняты". (на пустую строку можно проверить вот так $var === "" )

10. Проверка на число не больше определенного значения: Создайте переменную $number. Если число не больше 50, выводит "Число меньше или равно 50". Если число больше 50, выводит "Число больше 50". Используйте инвертирование условий для реализации этой задачи.

Похожие уроки Codebra

@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Итоги раздела «Самые основы Python»Знакомство с Python
Операторы switch и match в PHPКурс по PHP
Пользовательские функции в PHPКурс по PHP
Погружение в PythonЗнакомство с Python
Условная инструкция if-elif-else в PythonЗнакомство с Python
Переменные, комментарии и типы данных в PHPКурс по PHP
Типы данных в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Поиск хостов с помощью NmapРазведка и сканирование
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно