Evitar problemas al comparar valores string en php

Seguramente alguna vez te enfrentaste, o enfrentaras :-), con problemas a la hora de comparar valores string. Te presento algunos consejos prácticos que pueden ayudarte.

Notas: Te invito a conocer nuestro script de tienda on-line (e-commerce) php y mysql.
Allí aprendemos a trabajar con variables de sessión, manipulación de formularios, arrays y demás conceptos fundamentales en programación php. Código fuente disponible!
Ver demo !
  1. Asegurate que los valores que comparas sean iguales teniendo en cuenta las mayúsculas y minísculas (ten presente que php es case sensitive). Es decir, “Entrar” no es lo mismo que “ENTRAR”….
  2. Cuando una variable a comparar es resultado de una consulta en la base de datos, es muy posible que venga con caracteres especiales, por ejemplo retorno de línea y esas cosas que no son fácilmente visualizables en pantalla.Con la sentencia “trim” quitamos mencionados caracteres y podemos trabajar con la parte del string que verdaderamente nos interesa comparar.Por ejemplo, supongamos que nos encontramos desarrollando un sistema de login de usuarios y tenemos la variable $accion cuyo valor es el resultado de una consulta en la base de datos; y éste determina si el usuario desea ingresar o salir del sistema.
  3. Para evitar dolores de cabeza, yo haría la comparación de la siguiente manera:
    if(trim($accion)=="ENTRA"){....}else if (trim($accion)=="SALE") {....}else{....}

Y en la comparación de valores string siempre considerar que es más conveniente la utilización de la sentencia “strcmp” de la cual ya hablaremos en próximos artículos. La comparación por medio del operador == está más enfocada a comparación de valores numéricos, boolean y otro tipo de datos.

Espero que le sirva para aplicar en sus proyectos de software y los invito a dejar comentarios y aportes, asi como también a compartir esta info con sus amigos en las redes sociales.

Hosting

Te recomendamos...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *