Php 输入值0=空?
我有一个页面,您注册您的狗,我希望所有这些字段都是必需的:Php 输入值0=空?,php,html,forms,input,null,Php,Html,Forms,Input,Null,我有一个页面,您注册您的狗,我希望所有这些字段都是必需的: $required_fields = array('name', 'age', 'gender', 'breed', 'size'); foreach ($_POST as $key => $value) { if (empty($value) && in_array($key, $required_fields) === true) { $errors[] = 'All fields ma
$required_fields = array('name', 'age', 'gender', 'breed', 'size');
foreach ($_POST as $key => $value) {
if (empty($value) && in_array($key, $required_fields) === true) {
$errors[] = 'All fields marked with * are required.';
break 1;
}
}
问题是,如果有人输入0(如果狗是小狗,我会指示他们这样做),提交文件似乎会将该字段读取为空(给我这个错误)。我会进一步检查删除任何非整数等,但对于用户来说,我仍然认为最好的解决方案和最简单的形式是让他们能够输入0作为值。无论如何,有没有办法让我的php代码读取的值不为null?php将这些值视为空:
null
0
""
"0"
false
所以你有两个选择。向其附加一些内容,如valuea0
或使用isset
来自:
以下内容被认为是空的:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
你可能会考虑这样做:
if ((empty($value) && $value != 0) && in_array($key, $required_fields) === true) {
检查
$value==null
if ($value === null && in_array($key, $required_fields) === true) {
是的,这是我希望不会发生的事情,但我想我必须接受,因为所有的消息来源似乎都指向这一点。谢谢你的回答,我想我会解决这个问题,只要不要求年龄,如果为空,就把它设为0(小狗)。你试过测试
NULL
?