首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JInput过滤整数

使用JInput过滤整数
EN

Stack Overflow用户
提问于 2013-01-28 02:57:10
回答 3查看 711关注 0票数 1

我正在从JInput检索一个必须是整数的值。

代码语言:javascript
复制
$input = new JInput();
$post = $input->getArray($_POST);
$value= $input->$post['value'];

很明显,我不能使用is_int(),因为$_POST将值变成一个字符串--通常用filter_input()来解决。这给我带来了一个小问题--因为我想拒绝任何不是整数的东西--而不是把它转换成整数。使用类似以下内容的东西

代码语言:javascript
复制
$value=JFactory::getApplication()->input->get('value', '0', 'INT');

强制字符串为整数。(例如,输入1.2将得到$value为1等)。所以我被困在如何实现这个过滤器上了。理想情况下,我想做一些类似以下的事情

代码语言:javascript
复制
if(is_int($delete)) {
    //Carry on processing data
} else {
    //Stop function and display a JError
JLog::add("Value is not a integer", JLog::WARNING, 'jerror');
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-28 07:38:52

最后在check for integer or float values下找到了它。

最终使用的代码是:

代码语言:javascript
复制
$input = new JInput();
$post = $input->getArray($_POST);
$value= $input->$post['value'];
//checks value is numeric and if it is a int
if(is_numeric($value) && (int) $value == $value) {
    //process data
} else {
    JLog::add("Value is not a integer", JLog::WARNING, 'jerror');
}
票数 0
EN

Stack Overflow用户

发布于 2013-01-28 04:51:55

为什么不使用:

代码语言:javascript
复制
$input = new JInput;
$value = $input->getInt('value');
票数 0
EN

Stack Overflow用户

发布于 2013-02-04 19:12:00

代码语言:javascript
复制
$input = new JInput;
$email = $input->get('email', '', 'post');
$time = $input->get('time', '', 'post');
$move = $input->get('move', '', 'post');
$idcat = $input->get('idcat', '', 'post');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14550950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档