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

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.