In this new post Tiffany Brown shares a "PHP quickie" with her readers - using is_numeric versus ctype_digit.
The difference is subtle, but important one. Which function you use depends on the condition for which you're testing.
is_numeric tests whether the string in question is a number. ctype_digit(), on the other hand, tests whether the string in question contains all numeric characters.
To help alleviate the confusion, she gives some code that does var_dumps of both methods, clearly showing the difference.