Evitando las asignaciones en condiciones
| Posted in General | Posted on 12-05-2010
0
assignment in condition es un error muy común que cometemos muchos quienes programamos con PHP. Incluso en muchos ejemplos “oficiales” que figuran en el manual oficial de PHP se recurre a este tipo de “desliz”.
En realidad no se trata de un error en sí, sino de una buena practica de programación que evita disparar comportamientos indeseados cuando la aplicación tiene a crecer.
La premisa es simple: no debes asignar variables dentro de una condición.
El típico ejemplo mal indebidamente hecho:
while($array = mysql_fetch_array($result)){
¿Y como debería ser?
while( ($array = mysql_fetch_array($result)) !== false){
¿Cual es la diferencia?
Esta buena práctica evita errores como:
if($a = 36){
Fíjense como sucede una “asignación dentro de una condición“, exactamente lo que debemos evitar… y es malo porque esa asignación SIEMPRE será cierta (true).
¿Y porqué usar !== en lugar de un simple !=?
Ese es otro detallito que muchos suelen ignorar ;-), resulta que esperamos un FALSE booleano, no una “false” cualquiera, así que para estar seguros del valor y el tipo (no vaya a ser un string con la palabra false), lo mejor es comprobar si el dato es IDÉNTICO o NO IDÉNTICO, los cuales evalúan no sólo el contenido de la variable, sino el tipo de variable también.
Espero les haya gustado esta mini-entrada, tenía tiempo sin redactar algo a este abandonado blog. Hasta la próxima.

