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.

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í.