Buscar subcadena en cadena en PHP

Quiero comprobar si una cadena comienza por el carácter (o cadena) ‘#’:

$cadena = "#Mi cadena de prueba";
$busca  = "#";
if (strpos($cadena,$busca) === 0) {
   echo "La cadena comienza por '#'";
} elseif (strpos($cadena,$busca) == strlen($cadena)-1) {
   echo "La cadena termina por '#'";
} elseif (strpos($cadena,$busca) > 0) {
   echo "La cadena contiene '#'";
} else {
   echo "La cadena no tiene '#'";
}

Comprobad que la primera comparación se hace con el operador ‘===’ (triple igual o triple equals). Esto es así porque strpos devuelve 0 si encuentra la subcadena al principio y FALSE si no lo encuentra, y, en PHP, ambos tienen el mismo significado.

El operador ‘==’ compara si la expresión de la izquierda y la derecha tienen el mismo valor, mientras que ‘===’ compara además que sean del mismo tipo. Así se distingue 0 (entero) de FALSE (lógico).

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s