Menu
Coddy logo textTech

Modulo Operator

Часть раздела Основы путешествия по PHP на Coddy — урок 16 из 71.

Оператор остатка от деления (%) возвращает остаток после деления. Когда вы делите одно число на другое, этот оператор возвращает то, что осталось.

<?php
echo 10 % 3; // Выводит: 1
?>

Здесь 10, разделенное на 3, равно 3 с остатком 1. Оператор взятия остатка (modulo) возвращает этот остаток.

Обычное использование остатка от деления — проверка числа на четность или нечетность. При делении на 2 возможными остатками являются только 0 или 1 — поэтому, если число, деленное на 2, не имеет остатка, оно четное; если остаток равен 1, оно нечетное:

<?php
$number = 8;
echo $number % 2; // Выводит: 0 (четное)

$number = 7;
echo $number % 2; // Выводит: 1 (нечетное)
?>

Это работает только для проверки на четность/нечетность, потому что деление на 2 всегда дает остаток 0 или 1. С другими делителями остаток может быть любым значением от 0 до числа, на единицу меньшего, чем делитель.

Больше примеров, которые помогут вам понять этот паттерн:

<?php
echo 15 % 4; // Выводит: 3 (15 = 4*3 + 3)
echo 20 % 5; // Выводит: 0 (20 = 5*4 + 0)

$dividend = 17;
$divisor = 5;
echo $dividend % $divisor; // Выводит: 2 (17 = 5*3 + 2)
?>
challenge icon

Задание

Легко

Прочитайте два числа из ввода: делимое и делитель.

Вычислите и выведите остаток от деления первого числа на второе.

Пример:

Если на вход подаются 17 и 5, результатом должно быть 2 (так как 17 ÷ 5 = 3 с остатком 2).

Попробуйте сами

<?php
// Чтение входных данных
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));

// TODO: Напишите ниже ваш код для вычисления остатка от деления


// Вывод результата
echo $remainder;
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы