Algoritmos

Comprobar si una cadena es minúscula o mayúscula en PHP

Funciones para decir si es mayúscula o minúscula en PHP

Hoy veremos cómo saber si una oración, cadena o string es minúscula en PHP, y también saber si es mayúscula.

Vamos a escribir una función que regresa un booleano indicando si la cadena pasada tiene todos los caracteres en minúscula y otra función que hace lo mismo pero con oraciones mayúsculas.

PHP – Determinar si cadena es minúscula, mayúscula o mixta

Finalmente escribiremos una tercer función que devuelve un número indicando si la cadena es mayúscula, minúscula o mixta.

Explicación general del algoritmo

Lo que tenemos que hacer es convertir la cadena a su versión minúscula (o mayúscula, dependiendo del caso) usando strtolower o strtoupper. En caso de que la cadena sea igual que su versión en minúscula, se dice que sí es minúscula.

Igualmente si la cadena es igual a su versión mayúscula, se dice que toda la string es mayúscula.

Saber si cadena es mayúscula

<?php
function esMayuscula($cadena)
{
    # También podrías usar mb_strtoupper
    return $cadena === strtoupper($cadena);
}

# Probar
$cadenas = ["Hola", "HOLA", "hola"];
foreach ($cadenas as $cadena) {
    if (esMayuscula($cadena)) {
        echo "$cadena es mayúscula\n";
    } else {
        echo "$cadena no es mayúscula\n";
    }
}

Recibimos una cadena y regresamos el resultado de comparar la cadena original con su versión en mayúscula que se obtiene gracias a strtoupper.

Saber si cadena es minúscula

<?php
function esMinuscula($cadena)
{
    # También podrías usar mb_strtolower
    return $cadena === strtolower($cadena);
}

# Probar
$cadenas = ["Hola", "HOLA", "hola"];
foreach ($cadenas as $cadena) {
    if (esMinuscula($cadena)) {
        echo "$cadena es minúscula\n";
    } else {
        echo "$cadena no es minúscula\n";
    }
}

Usamos strtolower. También podríamos usar mb_strtolower en caso de que la cadena sea multibyte y tengamos la extensión habilitada.

Determinar si cadena es minúscula, mayúscula o “mixta

Con los ejemplos de arriba podemos hacer una función que indique si una cadena es totalmente mayúscula, totalmente minúscula o mixta; es decir, que tenga mayúsculas y minúsculas mezcladas.

La función queda así:

<?php
/**
 * Determina si una cadena es mayúscula, minúscula
 * o mixta
 *
 * @author parzibyte
 * @param string: $cadena: La cadena a probar
 * @return int: 0 si es mixta, -1 si es minúscula y 1 si es mayúscula
 */function determinarNotacion($cadena)
{
    if ($cadena === strtoupper($cadena)) {
        return 1;
    }

    if ($cadena === strtolower($cadena)) {
        return -1;
    }

    return 0;
}

# Probar
$cadenas = ["Hola", "HOLA", "hola"];
foreach ($cadenas as $cadena) {
    $resultado = determinarNotacion($cadena);
    if ($resultado === 1) {
        echo "$cadena es mayúscula\n";
    } else if ($resultado === -1) {
        echo "$cadena es minúscula\n";
    } else {
        echo "$cadena es mixta\n";
    }
}

Devuelve un número entero. Si la cadena se conforma por minúsculas y mayúsculas devuelve 0, en caso de que todos los caracteres sean mayúsculas devuelve 1 y si no, -1.

Probar ejemplos

Recuerda que puedes descargar el código fuente y probarlo. Puedes probarlo en línea, desde la línea de comandos o con un servidor web.

En caso de que todavía no instales PHP mira cómo hacerlo aquí. También puedes ver cómo instalar PHP y Apache en Android.

Conclusión

Con esto podemos comprobar si una cadena es mayúscula o minúscula usando las dos primeras funciones. También podemos determinar si una cadena es mayúscula, minúscula o mixta.

Mira más sobre PHP aquí.

 

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Tramitar acta de nacimiento en línea de manera instantánea

En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…

1 min hace

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esta web usa cookies.