Operador Módulo
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 fornece o que sobra.
<?php
echo 10 % 3; // Exibe: 1
?>Aqui, 10 dividido por 3 é igual a 3 com resto 1. O operador módulo retorna esse resto.
Um uso comum do operador módulo é verificar se um número é par ou ímpar. Ao dividir por 2, o resto é 0 para um número par e 1 para um número ímpar (-1 se o número ímpar for negativo); portanto, se um número dividido por 2 não tiver resto, ele é par; caso contrário, é ímpar:
<?php
$number = 8;
echo $number % 2; // Exibe: 0 (par)
$number = 7;
echo $number % 2; // Exibe: 1 (ímpar)
?>Isso só funciona para verificar se um número é par ou ímpar porque dividir por 2 sempre resulta em resto 0 ou 1 (ou -1 para um número ímpar negativo). Com outros divisores, quando ambos os números são positivos, o resto pode ser qualquer valor de 0 até um a menos que o divisor. O resultado tem o mesmo sinal do número que está sendo dividido, então -17 % 5 é -2.
Mais exemplos para ajudar você a entender o padrão:
<?php
echo 15 % 4; // Resultado: 3 (15 = 4*3 + 3)
echo 20 % 5; // Resultado: 0 (20 = 5*4 + 0)
$dividend = 17;
$divisor = 5;
echo $dividend % $divisor; // Resultado: 2 (17 = 5*3 + 2)
?>Desafio
FácilLeia dois números da entrada: um dividendo e um divisor.
Calcule e imprima o resto quando o primeiro número é dividido pelo segundo.
Exemplo:
Se as entradas forem 17 e 5, a saída deve ser 2 (porque 17 ÷ 5 = 3 com resto 2).
Experimente você mesmo
<?php
// Leia a entrada
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));
// TODO: Escreva seu código abaixo para calcular o resto
// Exiba 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
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de StringPratique por conta própria: Compilador de PHP online