ctype系の関数に空文字を渡すとtrueが返る

ctype系の関数に空文字を渡すとtrueが返ってくるのね。

php -r "var_dump(ctype_digit(''));"
bool(true)
php -r "var_dump(ctype_digit(' '));"
bool(false)
php -r "var_dump(ctype_digit(null));"
bool(false)
php -r "var_dump(ctype_digit('1'));"
bool(true)
php -r "var_dump(ctype_digit(1));"
bool(false)
php -r "var_dump(ctype_digit('a'));"
bool(false)

空文字を特別扱いする必要がある場合、別途チェックが必要ということで。