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.

Saludos!


Nota del autor: Busco programadores y diseñadores freelance para colaborarme con proyectos. Mostrame tus trabajos desarrollados, escribime!


Te agradaría derivar tu proyecto a un programador con años de experiencia?

Ing. Diego Angelini.
Autor de BlogdePHP.com
Programador Web Freelance






Porfolio de proyectos