簡介

該擴展所提供的函數(shù)用來檢測 在當前的區(qū)域設定下(參見 setlocale()),一個字符或者字符串 是否僅包含指定類型的字符。

當使用整數(shù)作為參數(shù)調(diào)用這些函數(shù)的時候, 這些函數(shù)的行為和 C 語言(ctype.h) 中的對應函數(shù)一樣。 也就是說,如果傳入了小于 256 的整數(shù)參數(shù),它會把這個整數(shù)當做 ASCII 碼值, 來檢測對應字符是否符合要求(數(shù)值檢測的 ASCII 值范圍為 0x30-0x39)。 如果傳入的參數(shù)介于 -128 和 -1 之間(含 -128 和 -1),它會先將其加上 256,然后再進行檢測。

當傳入?yún)?shù)為字符串的時候,它會對字符串中的每個字符進行檢測, 僅當字符串中的每個字符都符合指定條件的情況下才會返回 true。 在 PHP 5.1 之前的版本中,如果傳入空字符串總是會返回 true, 從 PHP 5.1 開始,傳入空字符串總是會返回 false。

傳入除整數(shù)和字符串之外的參數(shù) 會立即返回 false

需要提醒的是,如果可以滿足需求,請優(yōu)先考慮使用 ctype 函數(shù), 而不是正則表達式或者對應的 "str_*""is_*" 函數(shù)。 因為 ctype 使用的是原生 C 庫,所以會有明顯的性能優(yōu)勢。

注意:

這些函數(shù)和 Python 中的 “ctypes” 庫沒有任何關(guān)系。 ctype 的名字源自對應的 C 語言中的頭文件 ctype.h。

實際上,這個擴展是先于 Python 的 “ctypes” 的, 如果這個命名給你帶來困擾,那也不是我們的錯誤 ...