operadores - php ternary operator




¿Qué significa el signo de porcentaje en PHP? (4)

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 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'; ?>




modulo