PHP中如何检查$_POST是否为空或为零?

3

我有一个表单(其中包括其他内容)有一个输入字段:

<input type="text" id="NumAthletes_Ratings" name="NumAthletes_Ratings" /> 

在我的PHP代码中,我希望检查用户是否输入了空值或0。但是,这段代码:
    if (isset($_POST['NumAthletes_Ratings'])) {
        if ($_POST['NumAthletes_Ratings'] > 0) {
            echo 'POST Parameter is set to ' . $_POST['NumAthletes_Ratings'];
        } else {
            echo 'POST Parameter is set to Zero';
        }
    } else {
        echo 'POST Parameter is not set';
    }

无论传递的值是空值还是0,都会打印POST参数设置为零。我该如何区分这两种情况?


1
绝对比较 === 怎么样? - t q
你有尝试过 if(is_numeric($_POST['NumAthletes_Ratings'])) 吗? - Pitchinnate
1个回答

5
您可以检查字符串"0"(所有$_POST变量均为字符串或字符串数组):
if ($_POST['NumAthletes_Ratings'] > 0) {
        echo 'POST Parameter is set to ' . $_POST['NumAthletes_Ratings'];
    } elseif ($_POST['NumAthletes_Ratings'] === '0') {
        echo 'POST Parameter is set to 0';
    } else {
        echo 'POST Parameter is empty';
    }

1
几乎太简单了;-)感谢明显的答案,解决了我的问题。 - Thorsten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接