lunes, 26 de marzo de 2018

Comparar dos campos de texto con php

A la hora de presentar un formulario una de las comprobaciones t铆picas que se suele hacer es que el usuario escriba dos veces su email para que el email nos llegue correctamente y podamos contestar sin problemas al usuario. Por ejemplo en un formulario de registro a alg煤n servicio web. Aqu铆 os dejo dos formas de hacerlo con PHP, aunque seguro que hay mas; si sab茅is otras formas no dud茅is en dej谩rmelo en los comentarios que ser谩 interesante para todos.


1. Comparaci贸n de strings con operadores igual (==)

A la hora de comparar variables, resulta sencillo cuando se trata de booleanos ( true/ false) o de integers, pero cuando se trata de strings (cadenas de  car谩cteres) o partes de strings  se puede complicar un poco.

La forma m谩s com煤n de comparar dos strings es con el operador ==. Si los dos strings son iguales, el condicional devuelve true:

if('hola' == 'hola'){

    echo "El string coincide";

} else {

    echo "El string no coincide";
}

Este tipo de comparaci贸n es sensible a may煤sculas y min煤sculas, por lo que 'hola' == 'Hola' devolver铆a false.

Si todav铆a se quiere ser m谩s estricto, se pueden emplear tres signos de igual, ===.

2. Strcmp

int strcmp (string $str1, string $str2)

Es la funci贸n m谩s b谩sica para comparar dos strings a nivel binario. Tiene en cuenta may煤sculas y min煤sculas. Devuelve < 0 si el primer valor dado es menor que el segundo, > 0 si es al rev茅s, y 0 si son iguales:

$var1 = "hola";

$var2 = "hola";

if (strcmp($var1, $var2) === 0){

    echo "Las palabras coinciden";

} else {

    echo "Las palabras no coinciden";

}   

Una cadena es mayor que otra en funci贸n de los c贸digos num茅ricos equivalentes de cada car谩cter, por ejemplo la letra D tiene el c贸digo 68 y d el c贸digo 100, o sea que es en cierto modo sensible a may煤sculas / min煤sculas. En la pr谩ctica s贸lo se suelen utilizar estas funciones utilizando estructuras de control condicionales respecto al valor 0, como en el ejemplo anterior.

No hay comentarios:

Publicar un comentario