It seems that simple comparison signs >,>= and their reverse components can evaluate if a certain variable is a number or not. Example $whatami='beast'; ($whatami<0)?echo 'NaN':echo 'is numeric!';
Are there cases where is_numeric() usage is necessary for positive values (number >0)? It seems that using comparison signs above would determine if the variable is numeric..
As I have been finding out, a lot of these helper functions are really necessary because PHP isn’t strongly typed. I posted a similar question (although not that similar) about isset earlier this week. One thing to note is that PHP will change your string to its integer value for comparisons during some instances (when there are mixed types). This can’t be overlooked. I think this is a strong case for
is_numericfrom PHP Manual
Another thing to think about is that “what is 0” in PHP. It means a lot. It’s not always numeric. It may be a numeric string, boolean false, integer, etc… This is why those helper functions exist.
To add to my answer:
change your example:
PHP would change ‘beast’ to its integer equivalent and then do the comparison. This would give unintended results. If you really wanted something similar, you’d have to wrap it in another conditional:
Then you would get your intended result (as weird as it may be).