isset() 仅返回 true

har*_*r96 2 php validation isset

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

但当我使用时,我的 isset 仅返回 true

var_dump(isset($_POST['name']));
Run Code Online (Sandbox Code Playgroud)

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

Moh*_*ava 6

PHP 有不同的函数可用于测试变量的值。三个有用的函数是isset()、empty() 和 is_null()。所有这些函数都返回一个布尔值。如果这些功能没有以正确的方式使用,可能会导致意想不到的结果。

\n\n

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

\n\n
isset()\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

isset \xe2\x80\x94 确定变量是否已设置且不为 NULL

\n
\n\n

换句话说,仅当变量不为 null时才返回true

\n\n
empty()\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

empty \xe2\x80\x94 判断变量是否为空

\n
\n\n

换句话说,如果变量是空字符串、false、array()、NULL、\xe2\x80\x9c0?、0 和未设置的变量,它将返回true 。

\n\n
is_null()\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

is_null \xe2\x80\x94 查找变量是否为 NULL

\n
\n\n

换句话说,仅当变量为null时才返回true。is_null() 与 isset() 相反,除了 isset() 可以应用于未知变量,而 is_null() 只能应用于已声明的变量。

\n