文字型関数(ctype)を使った変数チェック

2008/05/26 | PHPの基本

変数チェックで、また自分の知らない(使ったことがない)関数とであった。与えられた変数の値がどのような文字列で構成されているかをチェックするための関数群ctypeだ。以前は正規表現で書いていたりしたのだが、こちらの関数のほうがお手軽で簡単だ。マニュアルには「ctype 関数は、正規表現よりもつねに好ましく、さらに str_* および is_* のような いくつかの等価な関数よりも好ましいことに注意してください。 これは、ctype 関数がネーティブな C ライブラリを使用しており、処理が著しく 高速であるためです。」と書いてある。まぁ、当然ダイレクトにCのライブラリを呼ぶのだから、正規表現との速度の差は明らかだろう(といってもアクセス数が少なければ、そのオーバーヘッドはわからないだろうけど)。

■ ctype_alnum
英数字かどうかを調べる

■ ctype_alpha
英字かどうかを調べる

■ ctype_cntrl
制御文字かどうかを調べる

■ ctype_digit
数字かどうかを調べる

■ ctype_graph
空白以外の印字可能な文字かどうかを調べる

■ ctype_lower
小文字かどうかを調べる

■ ctype_print
印字可能な文字かどうかを調べる

■ ctype_punct
空白、英数字以外の出力可能な文字かどうかを調べる

■ ctype_space
空白文字かどうか調べる

■ ctype_upper
大文字かどうか調べる

■ ctype_xdigit
16 進数を表す文字かどうかを調べる

「ctype_digit」は見たことがあったけど、他にもこんなにあったんだ。さらにマニュアルを読むと「PHP 4.2.0以降、これらの関数はデフォルトで有効となりました。」とあるので昔はモジュールをロードしなくてはいけなかったのね。どうりで知らないわけだ。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net