在简单的$ var中传递$ _POST var后,测试is_int不起作用

时间:2013-12-06 15:46:12

标签: php post isnumeric

有人能解释我这个......:

$bob = $_POST['foo'] ;

is_int($bob)失败但is_numeric($bob)没问题。

所以我知道我不能直接在$ _POST上使用is_int但是在这里我在另一个变量之前传输post值..

什么是错的?!

1 个答案:

答案 0 :(得分:2)

$_POST值是字符串,无论它们是否包含数值。只是将它们转移到另一个变量并不会改变它。

你必须对变量进行类型转换:

$bob = (int) $_POST['foo'];

但请注意,在这种情况下,非整数值会转换为0