<?php
// the filter_* functions trim whitespace which can result in data loss
var_dump(filter_var(" 1 ", FILTER_VALIDATE_INT));
// because filter_var casts passed values to a string, it accepts various unsafe values
var_dump(filter_var(true, FILTER_VALIDATE_INT));
var_dump(filter_var(new NotAnInt(), FILTER_VALIDATE_INT));
var_dump(filter_var(1.00000000000001, FILTER_VALIDATE_INT));
class NotAnInt {
function __toString() {
return " 1";
}
}
int(1)
int(1)
Fatal error: Uncaught Error: Class "NotAnInt" not found in /in/ESUbN:8
Stack trace:
#0 {main}
thrown in /in/ESUbN on line 8
Process exited with code 255.