ID: 23158 Comment by: michael at chunkycow dot com dot au Reported By: melkor at dance dot student dot utwente dot nl Status: Open Bug Type: Feature/Change Request Operating System: linux PHP Version: 5CVS-2003-04-10 (dev) New Comment:
This is bogus, ctype_digit(4500) returns true. Previous Comments: ------------------------------------------------------------------------ [2003-04-10 17:31:15] melkor at dance dot student dot utwente dot nl For ID's in databases, a simple is_digit($mixed) check would be nice. is_numeric($mixed) also accepts 1.0E10 and such values, which are not valid for integer database IDs. ctype_digit($string) returns false for any integer it gets, because ctype_digit(4500) gets translated to isdigit(4500) which of course is not a valid ascii character at all. This might seem a little far fetched, but lots and lots of code uses is_numeric checks where they should not. I do this too, because otherwise I need 2 checks (is_integer($var) || ctype_digit($var)).. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23158&edit=1
