检查变量是否为空

2022-08-30 11:59:20
if ($user_id == NULL || $user_name == NULL || $user_logged == NULL) {
    $user_id = '-1';
    $user_name = NULL;
    $user_logged = NULL;
}
if ($user_admin == NULL) {
    $user_admin = NULL;
}
  1. 有没有最短的方法可以做到这一点?
  2. 如果我是对的,它应该用?is_null
  3. 这是可能的,并写在一行(也许是数组?)而不重复?$user_id$user_name$user_loggedNULL

答案 1

如果要测试变量是否确实为 ,请使用恒等运算符:NULL

$user_id === NULL  // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)

如果要检查变量是否未设置:

!isset($user_id)

或者,如果变量不为空,则为空字符串零,..:

empty($user_id)

如果要测试变量是否不是空字符串,也足够了:!

!$user_id

答案 2

您可以通过多种方式检查它是否未设置(或为空)。

if (!$var){ }

艺术

if ($var === null){ } // This checks if the variable, by type, IS null.

艺术

if (empty($var)){ }

您可以检查它是否通过以下方式声明:

if (!isset($var)){ }

请注意,PHP 将 0(整数)和 “”(空字符串)和 false 解释为“空” - 尽管是不同的类型,但这些特定值被 PHP 视为相同。无论$var是否从未设置/声明,或者声明为$var = 0或$var = “”,都无关紧要。因此,您经常使用===运算符进行比较,该运算符与数据类型进行比较。如果 $var 为 0(整数),则 $var == “” 或 $var == false 将验证,但$var === “” 或 $var === false 将不会。


推荐