<?php
class NotAnInt {
function __toString() {
return " 1";
}
}
// 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(1.00000000000001, FILTER_VALIDATE_INT));
var_dump(filter_var(new NotAnInt(), FILTER_VALIDATE_INT));