As funções providas por esta extensão verificam se um caractere ou uma string está dentro de uma certa classe de caracteres de acordo com a localidade atual (veja também setlocale()).
Quando chamada com um argumento inteiro, estas funções comportam-se exatamente como ocorre na linguagem C usando ctype.h. Significa que se for passado um inteiro menor que 256, será usado o valor ASCII dele para ver se está dentro do intervalo especificado (dígitos estão entre 0x30-0x39). Se o número estiver entre -128 e -1 (inclusive) então será adicionado 256 e a verificação estará concluída.
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.
Quando chamada com uma string como argumento ela irá verificar
todos os caracteres na string e somente retornará
true
se todos caracteres da string combinarem com
o critério solicitado. Quando chamada com uma string vazia, o resultado sempre será false
.
Se for passado qualquer tipo diferente de string ou inteiro a função
retornará false
.
Note que funções ctype são sempre preferenciais em relação às
expressões regulares, e às funções equivalentes "str_*"
e "is_*"
.
Isto pelo fato de que ctype usa a biblioteca nativa C e assim
tem um processamento significativamente mais rápido.
Nota:
Estas funções não estão relacionadas às da biblioteca "ctypes" do Python. O nome da extensão vem do arquivo de cabeçalho ctype.h onde suas funções equivalentes em C são definidas.
Esta extensão também é anterior a biblioteca "ctypes" do Python, então qualquer confusão causada por conta da nomenclatura dificilmente é por conta do PHP.