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 — Проверяет наличие символов в верхнем регистре
Проверяет, все ли символы в переданной строке
text
являются буквами в верхнем регистре.
text
Проверяемая строка.
Замечание:
Если передано целое число (int) в диапазоне между -128 и 255 включительно, то оно будет обработано как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.
Начиная с PHP 8.1.0, передача нестроковых аргументов устарела. В будущем аргумент будет интерпретироваться как строка вместо кода ASCII. В зависимости от предполагаемого поведения аргумент должен быть приведён к строке (string) или должен быть сделан явный вызов функции chr().
Возвращает true
, если каждый символ в строке text
является прописной буквой в текущей локали.
При вызове с пустой строкой результатом всегда будет false
.
Пример #1 Пример использования ctype_upper() (с использованием локали по умолчанию)
<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
if (ctype_upper($testcase)) {
echo "Строка $testcase состоит только из букв в верхнем регистре.\n";
} else {
echo "Строка $testcase не состоит только из букв в верхнем регистре.\n";
}
}
?>
Результат выполнения данного примера:
Строка AKLWC139 не состоит только из букв в верхнем регистре. Строка LMNSDO состоит только из букв в верхнем регистре. Строка akwSKWsm не состоит только из букв в верхнем регистре.
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