我在PHP中创建计算器并想知道检查$_POST
变量的最佳方法,我需要计算器来处理所有数字,包括0
。如果该字段为空则失败。
听起来很简单,is_null
,!empty
& isset
我似乎无法开始工作。
答案 0 :(得分:3)
问题是,如果您在表单中使用文字输入,则会始终设置,isset()
将返回true
。它们已设置但可能为空,在这种情况下empty()
会有意义,但它会为true
返回0
。 is_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()以了解更多可能性。