我被一个形式和PHP文件使用var_dump(is_int($my_var));
发布的数值,但它返回bool(false)
虽然我张贴,如果我用var_dump(is_int(1));
它是罚款,并返回bool(true)
什么是错的。 ...?PHP:is_int返回错误的结果
0
A
回答
7
通过POST请求传输的变量是字符串,所以您在返回false的字符串上调用is_int()
。
您可以使用is_numeric()
或filter_var()
来替代或者简单地将您的变量转换为整数。
+0
感谢您指出我的错误... – 2012-07-09 12:25:20
0
// First check if it's a numeric value as either a string or number
if(is_numeric($int) === TRUE){
// It's a number, but it has to be an integer
if((int)$int == $int){
return TRUE;
// It's a number, but not an integer, so we fail
}else{
return FALSE;
}
// Not a number
}else{
return FALSE;
}
而且,不但得不到变量
$my_var = $_POST["value"];
试试这个,而不是看是否值真的过去了。
$my_var = $_REQUEST["value"];
+0
您可以将整个代码片段缩减为'return(int)$ int == $ int;' – KingCrunch 2012-07-09 12:22:46
相关问题
- 1. toString错误返回错误的结果
- 2. OpenWeatherMap返回错误结果
- 3. Ajax返回错误结果
- 4. GetWeekOfYear返回错误结果?
- 5. GetKeyboardState返回错误结果
- 6. CDbCommand返回错误结果
- 7. empty()返回错误结果
- 8. 的mysql_query返回错误的结果
- 9. Rails的ActiveRecord的返回错误结果
- 10. c#'string.Equals'返回错误的结果?
- 11. filterexpression返回“错误”的结果
- 12. MySQL的查询返回错误结果
- 13. componentsSeparatedByString返回错误的结果
- 14. SelectSingleNode返回错误的结果在foreach
- 15. String.localizedStringWithFormat返回错误的结果
- 16. MDX MAX MEMBER_KEY返回错误的结果
- 17. 文本()返回错误的结果
- 18. 的MySQL返回错误计数结果
- 19. locationInNode返回错误的结果
- 20. MySQL查询返回错误的结果
- 21. SQL SUM返回错误的结果
- 22. libGdx:Intersector.intersectLines(似乎)返回错误的结果?
- 23. 的LINQ to SQL返回错误结果
- 24. 的jqGrid getRowData返回错误结果
- 25. 查询返回错误的结果
- 26. PHP strpos()返回错误的结果
- 27. RODBC sqlQuery as.is返回错误的结果
- 28. 在阵列返回错误的结果
- 29. Request.QueryString集合返回错误的结果
- 30. date返回错误的结果在php
var_dump($ my_var);'return? – Bjoern 2012-07-09 12:04:04
检查$ my_var类型,如果is_int($ my_var)返回false,则$ my_var必须不是整数 – Ben 2012-07-09 12:04:59
如果您的变量'$ my_var'包含表单的输入(如您的第一句话所示),它将包含键入字符串 - php不会自动转换表单数据。 – codeling 2012-07-09 12:05:32