Modulo Operator
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 16 sur 71.
L'opérateur modulo (%) retourne le reste après une division. Lorsque vous divisez un nombre par un autre, le modulo vous donne ce qu'il reste.
<?php
echo 10 % 3; // Affiche : 1
?>Ici, 10 divisé par 3 égale 3 avec un reste de 1. L'opérateur modulo retourne ce reste.
Une utilisation courante du modulo consiste à vérifier si un nombre est pair ou impair. Lors d'une division par 2, les seuls restes possibles sont 0 ou 1 — ainsi, si un nombre divisé par 2 n'a pas de reste, il est pair ; si le reste est 1, il est impair :
<?php
$number = 8;
echo $number % 2; // Affiche : 0 (pair)
$number = 7;
echo $number % 2; // Affiche : 1 (impair)
?>Cela ne fonctionne que pour les vérifications pair/impair car la division par 2 donne toujours un reste de 0 ou 1. Avec d'autres diviseurs, le reste peut être n'importe quelle valeur allant de 0 jusqu'à un de moins que le diviseur.
Plus d'exemples pour vous aider à comprendre le fonctionnement :
<?php
echo 15 % 4; // Affiche : 3 (15 = 4*3 + 3)
echo 20 % 5; // Affiche : 0 (20 = 5*4 + 0)
$dividend = 17;
$divisor = 5;
echo $dividend % $divisor; // Affiche : 2 (17 = 5*3 + 2)
?>Défi
FacileLisez deux nombres à partir de l'entrée : un dividende et un diviseur.
Calculez et affichez le reste lorsque le premier nombre est divisé par le deuxième nombre.
Exemple :
Si les entrées sont 17 et 5, la sortie devrait être 2 (car 17 ÷ 5 = 3 avec un reste de 2).
Essayez vous-même
<?php
// Lire l'entrée
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous pour calculer le reste
// Afficher le résultat
echo $remainder;
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
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