Elementor Header #8

51. Условная конструкция (if)

1. Введение

Условная конструкция if в PHP позволяет выполнять определённые участки кода в зависимости от того, выполнено ли заданное условие. Это одна из самых важных конструкций для управления потоком выполнения программы, позволяющая принимать решения в зависимости от значений переменных или результатов выражений.

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

Конструкция if проверяет условие и выполняет блок кода, если условие истинно (true).

Пример:

				
					<?php
$age = 20;

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

				
			

В этом примере, если значение переменной $age больше или равно 18, то будет выведено сообщение «You are an adult.»

3. if-else

Инструкция if-else позволяет выполнить один блок кода, если условие истинно, и другой блок кода, если условие ложно (false).

Пример:

				
					<?php
$age = 16;

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

				
			

Здесь, если $age меньше 18, будет выведено сообщение «You are a minor.»

4. if-else if-else

Конструкция if-else if-else позволяет проверить несколько условий по очереди. Если первое условие не выполняется, проверяется следующее.

Пример:

				
					<?php
$score = 85;

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

				
			

В этом примере переменной $score присваивается оценка, которая определяется на основе диапазона значений.

5. Вложенные условия

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

Пример:

				
					<?php
$age = 25;
$hasTicket = true;

if ($age >= 18) {
    if ($hasTicket) {
        echo "You can enter the event.";
    } else {
        echo "You need a ticket to enter.";
    }
} else {
    echo "You are too young to enter.";
}
?>

				
			

Здесь внутренний if проверяет наличие билета только если возраст больше или равен 18.

6. Условные операторы и логические выражения

Вы можете использовать логические операторы (&&, ||, !, xor) в условиях для более сложных проверок.

Пример:

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

if ($age >= 18 && !$isStudent) {
    echo "You are an adult and not a student.";
} else {
    echo "Either you are not an adult or you are a student.";
}
?>

				
			

В этом примере используется логический оператор && и отрицание ! для комбинирования условий.

7. Тернарный оператор

Тернарный оператор ? : представляет собой сокращённую форму конструкции if-else и может использоваться для простых условий.

Пример:

				
					<?php
$age = 20;
$message = ($age >= 18) ? "You are an adult." : "You are a minor.";
echo $message;
?>

				
			

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

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

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

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

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

				
					<?php
$age = 17;

if ($age >= 18)
    echo "You are an adult.";
    echo "You are a minor."; // Эта строка всегда выполняется.
?>

				
			

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

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

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

				
			

8.2 Ошибка: Неправильное использование логических операторов

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

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

				
					<?php
$score = 90;

if ($score > 50 or $score < 80) {
    echo "Score is within range."; // Вывод: Score is within range.
}
?>

				
			

Решение: Проверьте правильность логических операторов и группировку условий в скобках.

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

				
					<?php
if ($score > 50 && $score < 80) {
    echo "Score is within range.";
}
?>

				
			

Заключение

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

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

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

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

  2. Создайте функцию checkEligibility, которая принимает возраст и статус подписки. Возвращайте «Eligible» если возраст больше или равен 18 лет или статус подписки равен true.

  3. Реализуйте функцию gradeCalculator, которая принимает оценку и возвращает буквенную оценку (A, B, C, D, F) в зависимости от значения. Используйте конструкцию if-else if-else для определения оценки.

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

				
					<?php
// 1. Проверка четности числа
$number = 7;
if ($number % 2 == 0) {
    echo "The number is even.";
} else {
    echo "The number is odd.";
}

// 2. Функция checkEligibility
function checkEligibility($age, $hasSubscription) {
    if ($age >= 18 || $hasSubscription) {
        return "Eligible";
    } else {
        return "Not Eligible";
    }
}

echo checkEligibility(20, false); // Вывод: Eligible
echo checkEligibility(16, true); // Вывод: Eligible
echo checkEligibility(16, false); // Вывод: Not Eligible

// 3. Функция gradeCalculator
function gradeCalculator($score) {
    if ($score >= 90) {
        return "A";
    } elseif ($score >= 80) {
        return "B";
    } elseif ($score >= 70) {
        return "C";
    } elseif ($score >= 60) {
        return "D";
    } else {
        return "F";
    }
}

echo gradeCalculator(85); // Вывод: B
echo gradeCalculator(72); // Вывод: C
echo gradeCalculator(55); // Вывод: F
?>

				
			

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

logo