45 votes

Que signifie le symbole pour-cent en PHP?

Que signifie exactement cela?

$number = ( 3 - 2 + 7 ) % 7;

82voto

zombat Points 46702

C'est l'opérateur modulo, comme mentionné, qui renvoie le reste de l'opération de division.

Exemples: 3%5 renvoie 3, car 3 divisé par 5 donne 0 avec un reste de 3.

5 % 10 renvoie 5, pour la même raison, 10 divise 5 zéro fois avec un reste de 5.

10 % 5 renvoie 0, car 10 divisé par 5 donne exactement 2 fois sans reste.

Dans l'exemple que vous avez posté, (3 - 2 + 7) revient à 8, vous donnant 8 % 7, donc $number sera 1, qui est le reste de 8/7.

1 votes

@zombat - 10 % 5 est 0 car 10 divisé par 5 est 2 avec un reste de 0. Le modulo est le reste de l'opération de division.

0 votes

Oui, j'ai des problèmes sérieux de copier / coller ici. Déjà repéré celui :)

0 votes

Merci beaucoup de l'avoir exprimé dans des termes que j'ai compris!

22voto

Pascal MARTIN Points 195780

C'est l' opérateur de modulo:

$a % $b = Reste de la division de $a par $b.

Il est souvent utilisé pour obtenir "un élément tous les N éléments". Par exemple, pour n'obtenir qu'un élément tous les trois éléments:

for ($i=0 ; $i<10 ; $i++) {
    if ($i % 3 === 0) {
        echo $i . '';
    }
}

Ce qui donne cette sortie:

0
3
6
9

(Oui, bon, $i+=3 aurait fait l'affaire; mais c'était juste une démo.)

12voto

Dana the Sane Points 7976

C'est l'opérateur modulo. Dans l'instruction $a % $b, le résultat est le reste de la division de $a par $b

4voto

kredo900 Points 41

En utilisant cet opérateur, on peut facilement calculer les jours pairs ou impairs dans le mois, par exemple, si cela est nécessaire pour un horaire ou autre chose :

3voto

% signifie le modulo.

Le modulo est le nom sophistiqué pour "reste après division" en mathématiques.

(numérateur) mod (dénominateur) = (reste)

En PHP

Dans ce cas, ce script affichera

6 est (13 mod 7).

$r est pour le reste (réponse), $n pour le numérateur et $d pour le dénominateur. L'opérateur modulo est couramment utilisé en cryptographie à clé publique en raison de sa caractéristique particulière en tant que fonction à sens unique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X