Урок 6: Операторы в PHP

В 6-ом уроке мы разберем ключевую тему в PHP, это операторы. Они как строительные блоки для вашего кода. Без них невозможно выполнить даже простейшие действия. Давайте погрузимся в мир арифметических, логических операторов и операторов сравнения. В конце урока вас ждут практические задачи, чтобы закрепить знания.

Арифметические операторы

Арифметика основа программирования. Даже если вы не любили математику в школе, здесь всё просто. PHP умеет выполнять базовые вычисления, и для этого используются арифметические операторы. Рассмотрим их на примерах.

1. Сложение (+)

Складывает два числа.

$a = 5;
$b = 3;
$result = $a + $b; // 8
echo $result;

2. Вычитание (-)

Вычитает второе число из первого.

$result = $a - $b; // 2

3. Умножение (*)

Умножает числа.

$result = $a * $b; // 15

4. Деление (/)

Делит первое число на второе.

$a = 10;
$result = $a / $b; // 3.333...

5. Остаток от деления (%)

Возвращает остаток от деления.

$a = 10;
$b = 3;
$result = $a % $b; // 1 (потому что 10 / 3 = 3 с остатком 1)

6. Возведение в степень (**)

PHP 7.0+ поддерживает этот оператор.

$result = 2 ** 3; // 8 (2 в степени 3)

Совет: Используйте скобки () для изменения порядка вычислений, как в математике:

php
$result = (2 + 3) * 4; // 20

Операторы сравнения

Эти операторы сравнивают два значения и возвращают true или false. Они часто используются в условиях (ifelse).

1. Равно (==)

Проверяет, равны ли значения.

5 == 5; // true
5 == "5"; // true (PHP преобразует строку в число)

2. Тождественно равно (===)

Проверяет и значение, и тип данных.

5 === 5;    // true
5 === "5";  // false (типы int и string разные)

3. Не равно (!= или <>)

Проверяет, не равны ли значения.

5 != 3;     // true
5 <> "5";   // false (значения равны после преобразования)

4. Тождественно не равно (!==)

Проверяет и значение, и тип данных.

5 !== "5";  // true (разные типы)

5. Больше (>), меньше (<), больше или равно (>=), меньше или равно (<=)

Работают как в математике.

10 > 5;     // true
5 <= 5;     // true

6. Оператор космический корабль (<=>)

Возвращает:

  • 0, если значения равны,
  • 1, если левое больше,
  • -1, если правое больше.
echo 5 <=> 3;  // 1
echo 2 <=> 5;  // -1
echo 5 <=> 5;  // 0

Логические операторы

Они объединяют условия и управляют логикой выполнения кода.

1. И (&& или and)

Возвращает true, если оба условия верны.

$a = 5;
$b = 3;
if ($a > 0 && $b < 10) {
    echo "Оба условия верны!";
}

Важно: && имеет более высокий приоритет, чем and.

// Разница между && и and:
$result = (true && false); // false
$result = (true and false); // false, но приоритет ниже!

2. Или (|| или or)

Возвращает true, если хотя бы одно условие верно.

if ($a > 10 || $b == 3) {
    echo "Хотя бы одно условие верно!";
}

3. Не (!)

Инвертирует результат.

if (!($a == 0)) {
    echo "Переменная a не равна нулю!";
}

4. Исключающее или (xor)

Возвращает true, если только одно условие верно.

if (true xor false) {
    echo "Это условие выполнится!";
}

Практические задачи

Попробуйте решить их самостоятельно, а затем сверьтесь с решениями.

Задача 1: Калькулятор

Напишите скрипт, который принимает два числа и оператор (+-*/), затем выводит результат.

$num1 = 10;
$num2 = 2;
$operator = '+';

switch ($operator) {
    case '+':
        echo $num1 + $num2;
        break;
    case '-':
        echo $num1 - $num2;
        break;
    // Добавьте остальные операторы
}

Задача 2: Проверка пароля

Проверьте, соответствует ли пароль условиям: длина >= 8 символов, содержит цифру и заглавную букву.

$password = "Password1";
$hasNumber = preg_match('/\d/', $password);
$hasUpper = preg_match('/[A-Z]/', $password);
$isValid = strlen($password) >= 8 && $hasNumber && $hasUpper;
echo $isValid ? "Пароль надежен!" : "Пароль слабый!";

Задача 3: Определение високосного года

Напишите условие, которое проверяет, является ли год високосным.
Правило: год високосный, если он делится на 4, но не на 100, или делится на 400.

$year = 2024;
$isLeap = ($year % 4 == 0 && $year % 100 != 0) || ($year % 400 == 0);
echo $isLeap ? "Високосный" : "Не високосный";

Итоги 6-го урока

Сегодня мы разобрали основные операторы PHP. Они станут вашими верными помощниками в создании сложной логики приложений. Если что-то осталось непонятным, перечитайте примеры и попробуйте решить задачи еще раз.

Впереди вас ждут более интересные темы по ссылке: полный курс по PHP для начинающих.