使用PHP中的零(0)

时间:2017-01-23 16:04:49

标签: php

我在PHP中创建计算器并想知道检查$_POST变量的最佳方法,我需要计算器来处理所有数字,包括0。如果该字段为空则失败。

听起来很简单,is_null!empty& isset我似乎无法开始工作。

1 个答案:

答案 0 :(得分:3)

问题是,如果您在表单中使用文字输入,则会始终设置,isset()将返回true。它们已设置但可能为空,在这种情况下empty()会有意义,但它会为true返回0is_null()根本没有任何意义。

if(!is_numeric($_POST['something'])) {
    echo "Must be a number";
}

如果您将输入构建为数组,如:<input name="numbers[first]" ...>,那么您可以轻松过滤它:

$numbers = array_filter($_POST['numbers'], 'is_numeric');

if(!isset($numbers['first'])) {
    echo "Must be a number";
}

您还可以查看filter_var()以了解更多可能性。