我正试图检查我使用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.phpif(!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;
}