Inicio Apuntes FPApuntes DAW Ejercicio Básico 24 PHP: Comprobar si una frase está en mayúsculas o minúsculas

Ejercicio Básico 24 PHP: Comprobar si una frase está en mayúsculas o minúsculas

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

En el ejercicio de php de hoy, vamos a tratar de crear una función que compruebe si una frase o palabra está en minúsculas o mayúsculas. Para realizar esta comprobación se tendrán que utilizar operadores a nivel de bit. Esto vienen siendo; and, or, not … y esas cosas. No hay que utilizarlos todos, solo los necesarios para completar la tarea que estamos buscando.

Comprobar si una frase está en mayúsculas o minúsculas con PHP

Bueno, dado el enunciado … veamos el código …

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Práctica 24</title>
        </head>
        <body>
     
            <!--
            Ejemplo:
            El caracter 'a' en ASCII es 1100001
            El caracter 'A' es          1000001
           
            Mayúsculas y minúsculas se diferencias solo en un bit, el bit que equivale a 32  
           
            32 a nivel de bit: 0100000
     
            Si se aplica un or a nivel de bit a un caracter en mayúscula se
            obtiene ese caracter en minúscula
           
           
               (65) 1000001  -> 'A'
                    0100000  -> 32
                    ------------------------OR
               (97) 1100001  -> ('a' | 32) -> 'a'  
           
           
            'A' | 32 = 'a', y así para el resto de letras
           
            -->
     
            <?php
     
            /**
             * Evalúa si una cadena está en minúscula o no
             * ord() convierte un caracter a su valor ASCII.
             */
            function compMayusculas($cadena) {
                //Se recorre la cadena de 0 hasta el tamaño total de la cadena $cadena
                for ($i = 0; $i < strlen($cadena); $i++) {
                    //Se convierte cada caracter a ASCII con ord
                    $caracter = ord($cadena[$i]);
                    //echo ($caracter | 32);
                    //echo $caracter;
                    //Si a alguno de los carácteres aplicándole un or
                    //con el numero 32 no coincide
                    //consigo mismo significa que está en mayúsculas y se devuelve
                    //false
                    if ($caracter != ($caracter | 32)) {
                        return false;
                    }
                }
                //Si nunca falla signinfica que la cadena está completamente en
                // minúsculas
                return true;
            }
     
            $cadena = 'los pelos del sobaco no son comestibles'; //frase a comprobar
            ?>
           
            <hr>
           
            <?php
            echo "En la cadena " . $cadena . " ...";
            //Comprobamos si compMayusculas devuelve true o false
            if (compMayusculas($cadena)) {
                echo 'todas las letras están en minúsculas';
            } else {
                echo 'hay una o más letras mayúsculas';
            }
            ?>
     
            <hr>
     
        </body>
    </html>

Este ejercicio realiza una comprobación básica. Posiblemente no sea la mejor de las maneras de comprobar si unas palabras están en mayúsculas o minúsculas, pero es una buena forma de empezar a realizar ejercicios con PHP.

 

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.