isset()仅返回true

时间:2014-07-11 08:54:34

标签: php validation isset

我正在尝试在PHP中创建验证,以检查字段是否为空。

但是当我使用

时,我的isset才会返回true
var_dump(isset($_POST['name']));

在任何未正确验证表单的情况下,它都不会返回false。

2 个答案:

答案 0 :(得分:3)

空字符串是一个设置字符串。它不一样,你还必须检查字符串的长度或是否为空

答案 1 :(得分:3)

PHP具有不同的功能,可用于测试变量的值。对此有三个有用的函数是 isset(),empty()和is_null()。所有这些函数都返回一个布尔值。如果未正确使用这些功能,可能会导致意外结果。

isset()和empty()通常被视为相反的函数,但并非总是如此。在这篇文章中,我将解释这些功能之间的差异。

isset()
  

isset - 确定变量是否已设置且不是NULL

换句话说,只有当变量非空时,它才会返回 true

empty()
  

empty - 确定变量是否为空

换句话说,如果变量是空字符串,false,array(),NULL,“0?,0和未设置的变量”,它将返回 true

is_null()
  

is_null - 查找变量是否为NULL

换句话说,只有当变量为 null 时,它才会返回 true 。 is_null()与isset()相反,除了一个差异,即isset()可以应用于未知变量,但is_null()仅适用于声明的变量。