Php 如何使用'检查必填字段;空的';在值为整数的字段中?
我正在尝试对使用Php 如何使用'检查必填字段;空的';在值为整数的字段中?,php,validation,radio-button,Php,Validation,Radio Button,我正在尝试对使用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
函数的必填字段进行检查。不幸的是,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\u数字
您认为空值是什么?<代码> $$POST 如果设置了值,字符串总是字符串,请尝试对空字符串进行检查。代码>!isset($\u POST[$fieldname])&&$\u POST[$fieldname]!=“”代码>是!这很有效。我在我观看的教程中看到了我发布的代码,但它对我不起作用。我不明白你为什么同时使用empty和isset?使用
isset()
检查变量是否已定义。如果是,请使用is\u numeric()
确保它是数字的。谢谢。这是一个视频教程,我正在看正在使用。
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;
}