Hoy vamos con un tip rápido y sencillo a la vez que efectivo «cómo hacer un if corto o abreviado».
Desde que tengo uso de razón en la programación, me han enseñado a optimizar y minificar al máximo el código, eso si, siempre con código tabulado, no por mucho acortar hay que dejar de tabular 😉
Así que os voy a explicar cómo hacer un if abreviado, o como se le llama en matemáticas Operador ternario para que lo uséis en vuestro código y quede más acortado, pero igual de legible.
A continuación tenemos un if estándar donde miramos si $totalMales es mayor que $totalFemales, y en el caso de que se cumpla una condición u otra a $totalHigher le asignamos el valor de $totalMales en el caso de que se cumpla la condición, y en el caso de que no se cumpla, le asignamos el valor de $totalFemales:
1 2 3 4 5 | if ($totalMales > $totalFemales) { $totalHigher = $totalMales; } else { $totalHigher = $totalFemales; } |
Como veis es una sentencia muy simple, un if donde miramos si hay más hombres que mujeres, y la cantidad más alta se la asignamos a la variable $totalHigher.
Pero como veis dicha condición tan simple, nos está ocupando 5 líneas de código, es demasiado para un simple if.
Así que lo que vamos a hacer ahora con el if, es acortarlo de la siguiente manera:
1 | $totalHigher = ($totalMales > $totalFemales) ? $totalMales : $totalFemales; |
La condición del if la metemos dentro del paréntesis, y si la condición dentro del paréntesis se cumple, devolverá lo que viene precedido por el interrogante, en este caso: $totalMales.
Y en el caso de que la condición no se llegara a a cumplir, nos devolvería lo que hemos puesto después de los dos puntos (:), en este caso: $totalFemales.
Como podéis comprobar es mucho más corto y pasamos de tener 5 líneas a tan solo 1.
No necesitamos más y queda igual de legible para cualquiera que coja luego el código.
Espero os haya servido de ayuda 🙂
Y espero que apliquéis siempre que podáis el uso de buenas técnicas en la programación.
Recordad siempre de comentar! Ya sea el código o en el blog 😉
Jhon
Muy bien explicado! muchas gracias
Oyagum
Gracias a ti 😉
Marrcos
Buenos dias,
En el caso de un condicional más largo, como este por ejemplo:
if (isset($num1) && isset($num2) && isset($num3) && isset($num4) && is_numeric($num1)
&& is_numeric($num2) && is_numeric($num3) && is_numeric($num4)
&& $num2 >=0 && $num2 =0 && $num3 =0 && $num4 <=9){
se podría usar este operador?
Gracias y enhorabuena por el blog.
Oyagum
Realmente si que podrías usarlo, lo único que se vería largo, pero si, podrías llegar a usarlo sin problema. El número de condicionales no afectaría.