Modulo Operator
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 16 de 71.
O operador módulo (%) retorna o resto após a divisão. Quando você divide um número por outro, o módulo dá o que sobra.
<?php
echo 10 % 3; // Outputs: 1
?>Aqui, 10 dividido por 3 é igual a 3 com um resto de 1. O operador módulo retorna esse resto.
Um uso comum do módulo é verificar se um número é par ou ímpar. Se um número dividido por 2 não tiver resto, ele é par. Como estamos dividindo por 2, os únicos restos possíveis são 0 (par) ou 1 (ímpar) — ao contrário de operações de módulo gerais, onde o resto pode ser qualquer valor de 0 até o divisor menos 1.
<?php
$number = 8;
echo $number % 2; // Outputs: 0 (even)
$number = 7;
echo $number % 2; // Outputs: 1 (odd)
?>Mais exemplos para ajudar você a entender o padrão:
<?php
echo 15 % 4; // Saída: 3 (15 = 4*3 + 3)
echo 20 % 5; // Saída: 0 (20 = 5*4 + 0)
?>Desafio
FácilLeia dois números da entrada: um dividendo e um divisor.
Calcule e imprima o resto da divisão do primeiro número pelo segundo número.
Exemplo:
Se as entradas forem 17 e 5, a saída deve ser 2 (porque 17 ÷ 5 = 3 com resto 2).
Folha de consulta
O operador módulo (%) retorna o resto após a divisão:
<?php
echo 10 % 3; // Outputs: 1
?>Caso de uso comum - verificando se um número é par ou ímpar:
<?php
$number = 8;
echo $number % 2; // Outputs: 0 (even)
$number = 7;
echo $number % 2; // Outputs: 1 (odd)
?>Exemplos adicionais:
<?php
echo 15 % 4; // Outputs: 3 (15 = 4*3 + 3)
echo 20 % 5; // Outputs: 0 (20 = 5*4 + 0)
?>Experimente você mesmo
<?php
// Ler entrada
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));
// TODO: Escreva seu código abaixo para calcular o resto
// Exibir o resultado
echo $remainder;
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
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