【发布时间】:2014-12-01 21:32:04
【问题描述】:
我想验证一个必填字段。我正在使用以下条件来检查该字段是否不为空:
isset($value) && !empty($value)
但是如果我在字段中写0,它仍然会说该字段是必需的。 empty() 函数将 0 视为 PHP 手册中所述的空值,但我还应该做什么?我试过写很多条件,但都没有按预期工作。
看到用户投稿后发现:
empty($var) && !is_bool($var)
我尝试像这样将它添加到我的条件中,但没有奏效:
isset($value) && !empty($value) && is_bool($value)
【问题讨论】:
-
当你
var_dump它时,$value中实际保存了什么? -
您要验证的变量是什么类型的?
-
@ParagTyagi 我正在制作自己的高级验证课程。没有一个值,我正在为整数类型值和字符串类型值编写单个条件。
-
只是一个旁注,这个表达式是多余的:isset($value) && !empty($value)。 empty() 还会检查变量是否已设置,因此无需进行 isset() 检查。
-
@VladCazacu isset 检查变量是否设置 & 不为空,而为空检查变量不为空。
标签: php