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