Elementor Header #8

52. else

1. Введение

Конструкция else в PHP используется совместно с конструкцией if для обработки случаев, когда условие if ложно. Это позволяет выполнять альтернативный блок кода, если условие не выполняется.

2. Основной синтаксис else

Конструкция else применяется после блока if и позволяет выполнять другой код, если условие в if не выполнено.

Пример:

				
					<?php
$age = 16;

if ($age >= 18) {
    echo "You are an adult.";
} else {
    echo "You are a minor.";
}
?>

				
			

В этом примере, если $age меньше 18, то выводится сообщение «You are a minor.»

3. Использование else с if-else

Конструкция if-else позволяет обрабатывать два возможных случая: когда условие истинно и когда оно ложно.

Пример:

				
					<?php
$temperature = 30;

if ($temperature > 25) {
    echo "It's hot outside.";
} else {
    echo "The weather is mild.";
}
?>

				
			

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

4. Использование else с if-else if-else

Когда у вас есть несколько условий, можно использовать конструкцию if-else if-else, чтобы проверить различные варианты и выполнить соответствующий блок кода.

Пример:

				
					<?php
$score = 75;

if ($score >= 90) {
    echo "Grade: A";
} elseif ($score >= 80) {
    echo "Grade: B";
} elseif ($score >= 70) {
    echo "Grade: C";
} else {
    echo "Grade: D";
}
?>

				
			

Здесь мы проверяем несколько условий для определения оценки в зависимости от баллов.

5. Вложенные конструкции if-else

Конструкция else может быть использована внутри других конструкций if-else для более сложных проверок.

Пример:

				
					<?php
$age = 25;
$isStudent = false;

if ($age >= 18) {
    if ($isStudent) {
        echo "You are an adult student.";
    } else {
        echo "You are an adult.";
    }
} else {
    echo "You are a minor.";
}
?>

				
			

Здесь, если человек взрослый, мы дополнительно проверяем, является ли он студентом.

6. Распространённые ошибки

6.1 Ошибка: Пропуск фигурных скобок

Если не использовать фигурные скобки {}, только первая строка после if и else будет считаться частью условного блока.

Пример ошибки:

				
					<?php
$age = 20;

if ($age >= 18)
    echo "You are an adult.";
    echo "You are welcome!"; // Всегда будет выведено
?>

				
			

Решение: Всегда используйте фигурные скобки {} для чёткого указания области действия конструкций if и else.

Корректный пример:

				
					<?php
if ($age >= 18) {
    echo "You are an adult.";
} else {
    echo "You are a minor.";
}
?>

				
			

6.2 Ошибка: Неправильное использование else после else if

Использование else после else if должно быть корректным. Убедитесь, что логика проверки условий правильно организована.

Пример ошибки:

				
					<?php
$score = 85;

if ($score >= 90) {
    echo "Grade: A";
} elseif ($score >= 80) {
    echo "Grade: B";
} else {
    echo "Grade: C";
    echo "You need to work harder."; // Это сообщение всегда будет выводиться
}
?>

				
			

Решение: Убедитесь, что все возможные условия правильно покрыты и сообщения отображаются корректно.

Заключение

Конструкция else в PHP позволяет обрабатывать случай, когда условие в if не выполнено. Использование else совместно с if, if-else, и if-else if-else позволяет организовать код таким образом, чтобы он мог реагировать на различные ситуации в зависимости от значений переменных и условий. Важно следить за правильным использованием фигурных скобок и логики условий, чтобы избежать распространённых ошибок.

7. Тестовое задание

Для закрепления материала выполните следующее задание:

  1. Напишите код, который проверяет, является ли число положительным, отрицательным или нулём. Выведите соответствующее сообщение.

  2. Создайте функцию evaluateTemperature, которая принимает температуру в градусах Цельсия и возвращает сообщение о том, холодно, тепло или жарко. Используйте конструкцию if-else для проверки диапазонов температур.

  3. Реализуйте функцию checkEligibilityForDiscount, которая принимает возраст и флаг о наличии подписки. Возвращайте «Eligible for discount» если возраст меньше 18 лет или есть подписка. В противном случае, возвращайте «Not eligible for discount».

Пример выполнения задания:

				
					<?php
// 1. Проверка числа
$number = -5;

if ($number > 0) {
    echo "The number is positive.";
} elseif ($number < 0) {
    echo "The number is negative.";
} else {
    echo "The number is zero.";
}

// 2. Функция evaluateTemperature
function evaluateTemperature($temp) {
    if ($temp < 0) {
        return "It's freezing cold.";
    } elseif ($temp <= 20) {
        return "It's cool.";
    } elseif ($temp <= 30) {
        return "It's warm.";
    } else {
        return "It's hot.";
    }
}

echo evaluateTemperature(25); // Вывод: It's warm.

// 3. Функция checkEligibilityForDiscount
function checkEligibilityForDiscount($age, $hasSubscription) {
    if ($age < 18 || $hasSubscription) {
        return "Eligible for discount";
    } else {
        return "Not eligible for discount";
    }
}

echo checkEligibilityForDiscount(16, false); // Вывод: Eligible for discount
echo checkEligibilityForDiscount(20, true);  // Вывод: Eligible for discount
echo checkEligibilityForDiscount(20, false); // Вывод: Not eligible for discount
?>

				
			

Удачи в выполнении задания и дальнейшем изучении PHP!

logo