Underscores in the string will result in false, so you have to remove them first.
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_upper — Verifica se os caracteres são maiúsculos
Verifica se todos os caracteres na string fornecida,
text
, são maiúsculos.
text
A string a ser testada.
Nota:
Se um int entre -128 e 255 inclusive for fornecido, ele será interpretado como o valor ASCII de um único caractere (valores negativos são somados a 256 para permitir caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado como uma string contendo os dígitos decimais do inteiro.
A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se defasado. No futuro, o argumento será interpretado como uma string em vez de um ponto de código ASCII. Dependendo do comportamento esperado, o argumento deve ser convertido para string ou uma chamada explícita para chr() deve ser feita.
Retorna true
se todos caracteres em text
é
uma letra maiúscula no locale atual.
Quando chamada com uma string vazia, o resultado sempre será false
.
Exemplo #1 Um exemplo da ctype_upper() (usando o locale padrão)
<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
if (ctype_upper($testcase)) {
echo "The string $testcase consists of all uppercase letters.\n";
} else {
echo "The string $testcase does not consist of all uppercase letters.\n";
}
}
?>
O exemplo acima produzirá:
The string AKLWC139 does not consist of all uppercase letters. The string LMNSDO consists of all uppercase letters. The string akwSKWsm does not consist of all uppercase letters.
Underscores in the string will result in false, so you have to remove them first.
// after screwing around with function.ctype-upper
// I found this simple solution
if (strtolower($string) != $string)// its so simple!
{
echo "uppercase letters found in $string";
}
source: http://stackoverflow.com/questions/4426327/how-to-detect-if-string-contains-1-uppercase-letter-in-php