Оператор остатка от деления
Часть раздела Основы путешествия по PHP на Coddy. Урок 16 из 71.
Оператор modulo (%) возвращает remainder после деления. Когда вы делите одно число на другое, modulo даёт то, что остаётся.
<?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 (нечётное)
?>Это работает только для проверок на even/odd, потому что при делении на 2 остаток всегда равен либо 0, либо 1. С другими делителями остаток может иметь любое значение от 0 до значения, на единицу меньшего, чем divisor.
Дополнительные примеры, которые помогут вам понять закономерность:
<?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)
?>Задание
ЛегкоRead два numbers from input: a dividend and a divisor.
Calculate and print the remainder when the first number is divided by the second number.
Пример:
Если inputs are 17 and 5, the output should be 2 (because 17 ÷ 5 = 3 with a remainder of 2).
Попробуйте сами
<?php
// Читать ввод
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));
// TODO: Напишите ваш код ниже для вычисления остатка
// Вывести результат
echo $remainder;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строкПотренируйтесь самостоятельно: Онлайн-компилятор PHP