operadores - ¿Qué significa el signo de porcentaje en PHP?
php operator+= (6)
Dado que muchas personas dicen que "el módulo encuentra el resto del divisor", comencemos por definir exactamente qué es un resto.
En matemáticas, el resto es la cantidad "sobrante" después de realizar algunos cálculos. En aritmética, el resto es el número entero "sobrante" después de dividir un número entero por otro para producir un cociente entero (división entera).
Ver: http://en.wikipedia.org/wiki/Remainder
Entonces, el módulo es una forma simple de preguntar: "¿Cuánto del divisor queda después de dividirse?"
Para usar el cálculo de OP de (3 - 2 + 7) = 8 % 7 = 1
:
Se puede dividir en:
(3 - 2 + 7) = 8 8 / 7 = 1.143 #Rounded up .143 * 7 = 1.001 #Which results in an integer of 1
7 pueden entrar en 8 1 vez con .14 de 7 sobrantes
Eso es todo al respecto. Espero que esto ayude a simplificar cómo funciona exactamente el módulo.
Ejemplos adicionales usando diferentes divisores con 21.
Desglose de
21 % 3 = 0
:
21 / 3 = 7.0 3 * 0 = 0
(3 pueden entrar en 21 7 veces con 0 de 3 sobrantes)
Desglose de
21 % 6 = 3
:
21 / 6 = 3.5 .5 * 6 = 3
(6 pueden ir a 21 3 veces con .5 de 6 sobrantes)
Desglose del
21 % 8 = 5
:
21 / 8 = 2.625 .625 * 8 = 5
(8 pueden ir a 21 2 veces con .625 de 8 sobrantes)
¿Qué significa esto exactamente?
$number = ( 3 - 2 + 7 ) % 7;
Es el operador de módulo :
$a % $b
= Resto de$a
dividido por$b
.
A menudo se usa para obtener "un elemento por cada N elementos". Por ejemplo, para obtener solo un elemento por cada tres elementos:
for ($i=0 ; $i<10 ; $i++) {
if ($i % 3 === 0) {
echo $i . ''<br />'';
}
}
Que obtiene esta salida:
0
3
6
9
(Sí, está bien, $i+=3
habría hecho el truco, pero esto era solo una demostración).
Es el operador de modulus , como se mencionó, que devuelve el resto de una operación de división.
Ejemplos: 3%5
devuelve 3, ya que 3 dividido por 5 es 0 con un resto de 3.
5 % 10
devuelve 5, por la misma razón, 10 pasa a 5 veces cero con un resto de 5.
10 % 5
devuelve 0, ya que 10 dividido por 5 va exactamente 2 veces sin resto.
En el ejemplo que publicó, (3 - 2 + 7)
resultado 8, lo que le da un 8 % 7
, por lo que $number
será 1
, que es el resto de 8/7.
Es el operador de módulo . En el estado $a % $b
el resultado es el resto cuando $a
se divide entre $b
Usando este operador uno puede calcular fácilmente los días impares o pares en el mes, por ejemplo, si es necesario para el cronograma o algo así:
<?php echo (date(j) % 2 == 0) ? ''Today is even date'' : ''Today is odd date''; ?>
%
significa módulo.
Módulo es el nombre elegante para "resto después de dividir" en matemáticas.
(numerator) mod (denominator) = (remainder)
En PHP
<?php
$n = 13;
$d = 7
$r = "$n % $d";
echo "$r is ($n mod $d).";
?>
En este caso, este script hará eco
6 is (13 mod 7).
Donde $r
es para el resto (respuesta), $n
para el numerador y $d
para el denominador. El operador de módulo se usa comúnmente en la criptografía de clave pública debido a su característica especial como función de un solo sentido .