はじめに

以下の関数は、現在のロケール(setlocale()も参照) に基づき文字または文字列がある文字クラスに含まれるかどうかを調べます。

整数の引数を指定してコールした場合、これらの関数は、ctype.h に記述された C の同名の関数と全く同様に動作します。 これは、256 より小さな整数が指定された場合、 指定した範囲 (数値は 0x30-0x39) に収まっているかどうかを 調べるために、そのアスキー値を使用することを意味します。 数値が -128 および -1 (境界を含む) の間の場合、256 が追加され、 その数字に関してチェックが行われます。

文字列引数を指定してコールした場合、これらの関数は、その文字列の全 ての文字を調べ、その文字列の全ての文字が要求された基準に一致する場 合にのみ true を返します。空の文字列でコールした場合は、 PHP 5.1 より前のバージョンでは常に結果は true となり、一方 5.1 以降では常に結果は false となります。

文字列または整数以外のものを指定した場合は、直ちに false が 返されます。

ctype 関数は、正規表現よりもつねに好ましく、さらに "str_*" および "is_*" のような いくつかの等価な関数よりも好ましいことに注意してください。 これは、ctype 関数がネーティブな C ライブラリを使用しており、処理が著しく 高速であるためです。

注意:

これらの関数は、Python の "ctypes" ライブラリとはまったく無関係です。 この拡張モジュールの名前は C のヘッダファイル ctype.h からとったもので、このヘッダファイルには C 言語における同等の機能が定義されています。

また、この拡張モジュールのほうが Python の "ctypes" より先に登場しているわけで、 こんなややこしいことになってしまったのも、決してこちらのせいではないわけで…。

add a note add a note

User Contributed Notes 1 note

up
-4
flashinno at gmail dot com
9 years ago
pcre from the ver. 5.3 is a part of core PHP, any function exported from .so can't work wih faster than core function
To Top