The following code checks various scenarios in which inbuilt functions like intval, floatval, is_numeric, is_float and filter_var would result for several different types of values. Feel free to run in your local, leave comments if I can make the results more interesting with some more functions.
https://gist.github.com/harshvardhanmalpani/8dd0222e4821d0e495532abe9007fef1
Output / Results
Test Value 1: (string)true Integer converted Value: 0 Float converted Value: 0 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 2: (boolean)1 Integer converted Value: 1 Float converted Value: 1 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 3: (boolean) Integer converted Value: 0 Float converted Value: 0 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 4: (string)false Integer converted Value: 0 Float converted Value: 0 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 5: (integer)0 Integer converted Value: 0 Float converted Value: 0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 6: (double)-0 Integer converted Value: 0 Float converted Value: -0 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ✅ Valid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 7: (integer)0 Integer converted Value: 0 Float converted Value: 0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 8: (string)-0 Integer converted Value: 0 Float converted Value: -0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 9: (string)+0 Integer converted Value: 0 Float converted Value: 0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 10: (string)-0.0 Integer converted Value: 0 Float converted Value: -0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 11: (string)+0.0 Integer converted Value: 0 Float converted Value: 0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 12: (string)0 Integer converted Value: 0 Float converted Value: 0 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 13: (string)0w Integer converted Value: 0 Float converted Value: 0 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 14: (string)0.0t Integer converted Value: 0 Float converted Value: 0 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 15: (string)0.1 Integer converted Value: 0 Float converted Value: 0.1 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 16: (double)0.1 Integer converted Value: 0 Float converted Value: 0.1 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 17: (integer)1 Integer converted Value: 1 Float converted Value: 1 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 18: (string)1 Integer converted Value: 1 Float converted Value: 1 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 19: (double)10000 Integer converted Value: 10000 Float converted Value: 10000 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 20: (string)2e Integer converted Value: 2 Float converted Value: 2 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 21: (double)20000 Integer converted Value: 20000 Float converted Value: 20000 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 22: (string)2e4 Integer converted Value: 20000 Float converted Value: 20000 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 23: (double)1337 Integer converted Value: 1337 Float converted Value: 1337 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 24: (string)1e3 Integer converted Value: 1000 Float converted Value: 1000 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 25: (double)10 Integer converted Value: 10 Float converted Value: 10 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 26: (double)1.3 Integer converted Value: 1 Float converted Value: 1.3 ✅ Valid Integer as per is_numeric ✅ Valid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 27: (string)1.4 Integer converted Value: 1 Float converted Value: 1.4 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 28: (string)1t Integer converted Value: 1 Float converted Value: 1 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 29: (string)1.5n Integer converted Value: 1 Float converted Value: 1.5 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 30: (integer)26 Integer converted Value: 26 Float converted Value: 26 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 31: (string)0x539 Integer converted Value: 0 Float converted Value: 0 ❌ Invalid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ❌ Invalid Float as per filter validate ---- Test Value 32: (integer)34 Integer converted Value: 34 Float converted Value: 34 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 33: (string)042 Integer converted Value: 42 Float converted Value: 42 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ❌ Invalid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 34: (integer)42 Integer converted Value: 42 Float converted Value: 42 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 35: (integer)-42 Integer converted Value: -42 Float converted Value: -42 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 36: (string)+42 Integer converted Value: 42 Float converted Value: 42 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ---- Test Value 37: (string)-42 Integer converted Value: -42 Float converted Value: -42 ✅ Valid Integer as per is_numeric ❌ Invalid Float as per is_float ✅ Valid Integer as per filter validate ✅ Valid Float as per filter validate ----