Aprende a calcular fácilmente un cambio porcentual positivo y negativo entre 2 números en PHP.

¿Estás dispuesto a resolver un simple cambio de porcentaje en el servidor con PHP? Lo primero que debes hacer es pensar matemáticamente. Debe recuperar la diferencia (disminuir o aumentar) entre los números que está comparando. Esta diferencia debe dividirse entre el primer número (el que no cambia). El resultado de esta operación debe multiplicarse por 100. Haciendo una abstracción de este proceso en una función básica de PHP, tendríamos:

/**
* Calcula en porcentaje, el cambio entre 2 números.
* e.g from 1000 to 500 = 50%
* 
* @param oldNumber The initial value
* @param newNumber The value that changed
*/
function getPercentageChange($oldNumber, $newNumber){
    $decreaseValue = $oldNumber - $newNumber;

    return ($decreaseValue / $oldNumber) * 100;
}

Ten en cuenta que si cambia el orden del número antiguo y el nuevo, la respuesta sería diferente, así que asegúrese de que el primer argumento sea la primera versión del valor, es decir, el que no cambió y como segundo argumento el valor eso cambió.

Ejemplos

Los siguientes ejemplos muestran diferentes casos de cambio porcentual tanto positivo (disminución) como negativo (aumento) según el punto de vista:

Nota

Un valor negativo indica un aumento porcentual.

// X = 500
// Y = 234
// % = 53.2
echo getPercentageChange(500, 234);

// X = 1000
// Y = 890
// % = 11
echo getPercentageChange(1000, 890);

// X = 5
// Y = 2
// % = 60
echo getPercentageChange(5, 2);

// X = 100
// Y = 120
// % = -20
// Note: negative as it incremented 20%
echo getPercentageChange(100, 120);


// X = 500
// Y = 500
// % = 0
// Note: no percent change
echo getPercentageChange(500, 500);

¿Dónde se puede utilizar esta función?

Por ejemplo, si está trabajando con algoritmos de compresión de imágenes, es posible que desee mostrar un valor legible por humanos en porcentaje que indique cuánto se comprimió de la imagen inicial, donde el número antiguo es el original, por ejemplo, 1 MB y el nuevo número es 500 KB, lo que resultar en una disminución del 50%.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores