如何使用'empty'在值为整数的字段中


How do I check required fields using 'empty' in a field whose value is an integer?

我正试图检查我使用empty函数的所需字段。不幸的是,empty认为0是空的,我的值可以是0和1在单选按钮。我试过使用!is_int(myvalue),但它没有工作。

下面是我的代码:
  <?php   $required_fields = array('menu_name', 'position', 'visible');
    foreach($required_fields as $fieldname) {
        if(!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && !is_int($_POST[$fieldname]))) {
            $errors[] = $fieldname;
        } 
    }
?>

您似乎想测试一个字符串,看看它是否是整数。

尝试使用is_numeric

http://www.php.net/manual/en/function.is-numeric.php

if(!isset($_POST[$fieldname])  // not in the post
   || (empty($_POST[$fieldname]) && 0 != $_POST[$fieldname]) // empty but not zero
   || (int) $_POST[$fieldname] == '')) // not an integer
) {
  $errors[] = $fieldname;
}