Modulo Operator
Часть раздела Основы путешествия по PHP на Coddy — урок 16 из 71.
Оператор модуля (%) возвращает остаток от деления. Когда вы делите одно число на другое, модуль даёт вам то, что остаётся.
<?php
echo 10 % 3; // Outputs: 1
?>Здесь 10, делённое на 3, равно 3 с остатком 1. Оператор модуло возвращает этот остаток.
Распространённое применение операции modulo — проверка, является ли число чётным или нечётным. Если число, делённое на 2, не имеет остатка, оно чётное. Поскольку мы делим на 2, единственные возможные остатки — 0 (чётное) или 1 (нечётное) — в отличие от общих операций modulo, где остаток может быть любым значением от 0 до делителя минус 1.
<?php
$number = 8;
echo $number % 2; // Выводит: 0 (чётное)
$number = 7;
echo $number % 2; // Выводит: 1 (нечётное)
?>Дополнительные примеры, чтобы помочь вам понять шаблон:
<?php
echo 15 % 4; // Выводит: 3 (15 = 4*3 + 3)
echo 20 % 5; // Выводит: 0 (20 = 5*4 + 0)
?>Задание
ЛегкоПрочитайте два числа из ввода: делимое и делитель.
Вычислите и выведите остаток от деления первого числа на второе число.
Пример:
Если входные данные 17 и 5, то вывод должен быть 2 (потому что 17 ÷ 5 = 3 с остатком 2).
Шпаргалка
Оператор модуло (%) возвращает остаток от деления:
<?php
echo 10 % 3; // Outputs: 1
?>Распространённый случай использования — проверка, является ли число чётным или нечётным:
<?php
$number = 8;
echo $number % 2; // Outputs: 0 (even)
$number = 7;
echo $number % 2; // Outputs: 1 (odd)
?>Дополнительные примеры:
<?php
echo 15 % 4; // Outputs: 3 (15 = 4*3 + 3)
echo 20 % 5; // Outputs: 0 (20 = 5*4 + 0)
?>Попробуйте сами
<?php
// Читаем ввод
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));
// TODO: Напишите свой код ниже для вычисления остатка
// Выводим результат
echo $remainder;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators