[eluser]Derek Jones[/eluser]
ctype_ methods are expecting string input, so will not do quite what one would expect if you give it another type of input. I've always understood it to be good practice to typecast variables you are using ctype_ on if you do not know them to be strings, as if you aren't working with strings, there are other functions available to validate the data. That's just my opinion, though, so I'm open to opposing arguments.
And, for the record, you're fast!