Giriş

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ı değiştirge 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ırsanız, 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.

İşlevler bir dizge değiştirge 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. İşlevler boş bir dizge ile çağrıldıklarında PHP < 5.1 için daima TRUE, 5.1'den itibaren ise daima FALSE döndürür.

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 hemen hemen bizim hatamızdır...