Bu eklenti ile sağlanan işlevler, bir karakter veya dizgenin geçerli yerele göre (setlocale() işlevine de bakınız) belli bir karakter sınıfına ait olup olmadığını saptamaya yarar.
Bu işlevler, bir tamsayı bağımsız değişken ile çağrıldığında ctype.h dosyasındaki eşdeğerleri gibi davranır. Yani, işleve 256'dan küçük bir tamsayı aktarılırsa, belirtilen aralık içinde kalıp kalmadığına (0x30-0x39 aralığındaki rakamlar) bakmak için sayı bir ASCII değer olarak kullanılır. Eğer sayı -128 (dahil) ile -1 (dahil) arasındaysa sayıya önce 256 eklenir sonra sınama yapılır.
PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.
İşlevler bir dizge bağımsız değişken ile çağrıldığında, dizgedeki her karakter
sınanır ve sadece tüm karakterlerin istenen koşulları sağlaması durumunda
true
döndürülür.
Boş dizge ile çağrıldığında sonuç daima
false
olur.
Bir dizge veya sayı haricinde bir değer aktarımı işlevin anında false
döndürmesi ile sonuçlanır.
Bu işlevler sıradan düzenli ifade işlevlerine ve hatta
"str_*"
ve "is_*"
işlevlerine daima tercih edilmelidir. Ctype eklentisi C kütüphanesini
kullandığından bunlardan belirgin şekilde daha hızlıdır.
Bilginize:
Bu işlevlerin Python "ctypes" kütüphanesiyle hiçbir ilgisi yoktur. Eklenti adı, C eşdeğerlerinin tanımlandığı ctype.h C başlık dosyasından kaynaklanır.
Bu eklenti ayrıca Python "ctypes" kütüphanesinden de önce yazılmıştır, yani bu isimlendirmenin sebep olduğu karışıklık PHP'nin hatası değildir.