Why does is_int always return false in the following situation?
is_int
echo $_GET[\'id\']; //3 if(is_int($_GET[\'id\'])) echo \'int\'; //not execut
Because HTTP variables are always either strings, or arrays. And the elements of arrays are always strings or arrays.
You want the is_numeric function, which will return true for "4". Either that, or cast the variable to an int $foo = (int) $_GET['id']...
is_numeric
"4"
$foo = (int) $_GET['id']