Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查变量是否为空 有没有最短的办法 如果我是对的,应该用is_null测试它 可以$user\u id,$user\u name和$user\u logged写入一行(可能是数组?),而无需重复NULL_Php_If Statement_Null - Fatal编程技术网

Php 检查变量是否为空 有没有最短的办法 如果我是对的,应该用is_null测试它 可以$user\u id,$user\u name和$user\u logged写入一行(可能是数组?),而无需重复NULL

Php 检查变量是否为空 有没有最短的办法 如果我是对的,应该用is_null测试它 可以$user\u id,$user\u name和$user\u logged写入一行(可能是数组?),而无需重复NULL,php,if-statement,null,Php,If Statement,Null,如果要测试变量是否真的为NULL,请使用identity运算符: 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; } 如果要检查是否未设置变量: $user_id

如果要测试变量是否真的为
NULL
,请使用identity运算符:

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;
}
如果要检查是否未设置变量:

$user_id === NULL  // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
或者,如果变量不是空的,则为空字符串,零,…:

!isset($user_id)

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

empty($user_id)
empty()$用户id
如其他地方所建议:

!$user_id

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

if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
或:

或:

您可以检查它是否声明为:

if (empty($var)){ }
请注意,PHP将0(整数)和“”(空字符串)以及false解释为“空”-并且dispite是不同的类型,PHP认为这些特定值是相同的。无论$var是否从未设置/声明,或者是否声明为$var=0或$var=“”,都无关紧要。因此,经常使用===运算符进行比较,该运算符根据数据类型进行比较。如果$var为0(整数),$var==“”或$var==false将进行验证,但$var==“”或$var==false将不进行验证。

1

if (!isset($var)){ }
二,。不,我真的不明白你为什么写这样的结构


三,。将所有值放入数组,例如$ar[“user_id”]等。

请定义“empty”的含义

我通常使用的测试是。

您可以使用isset()例程

此外,还可以引用一系列is_type()函数,如


is_string()、is_float()、is_int()等进一步具体测试

在PHP中检查变量是否为空的最好、最简单的方法就是使用empty()函数

如果为空($变量) 然后
..

这里我已经解释了空函数和isset是如何工作的。请使用一个合适的函数,您也可以使用is_null函数

<?php

$nothing = NULL;
$something = '';
$array = array(1,2,3);

// Create a function that checks if a variable is set or empty, and display "$variable_name is SET|EMPTY"
function  check($var) {
    if (isset($var)) {
        echo 'Variable is SET'. PHP_EOL;
  } elseif (empty($var)) { 
        echo 'Variable is empty' . PHP_EOL;

   } 

} 

check($nothing);
check($something);
check($array);

值得一提的是,我在编写了近9年的PHP代码后才发现,检查任何变量存在的最佳方法是使用empty()函数。这是因为它不会生成错误,即使您将其关闭,PHP仍然会生成错误!但是,如果变量不存在,empty()将不会返回错误。因此,我相信正确的答案不是检查它是否为空,而是执行以下操作

<?php
    $val = 0;
    //evaluates to true because $var is empty
    if (empty($val)) {
        echo '$val is either 0, empty, or not set at all';
    }
    //evaluates to true because $VAR IS SET
    if (isset($val)) {
        echo '$val is set even though it is empty';
    }
    ?>
请注意PHP手册

如果变量不存在或其值等于FALSE,则认为该变量为空


而不是空值,这在这里很方便

因为其他的反应,我不得不回答这个问题。如果可以,请使用empty(),因为它包含更多的基。将来你会感谢我的


例如,您必须执行诸如isset()&&strlen()之类的操作,您可以使用empty()。想一想这空是什么样子!isset($var)|$var==false

检查可以使用的空值,如下所示

if (!empty($var) && is_null($var))

(建议)我认为您可以为此创建一个函数…
!isset($var)
检查变量是否未定义,是否为空。还要注意的是,
isset()
接受无限数量的参数。还要注意的是,因为他使用的是上面的
==
,而不是
==
,所有有效的操作都是
如果(!$var | |!$var…
是的,文档位于:,。根据代码判断,我假设变量必须是字符串。因此,我建议:
如果(!is_string($user_id)|$user_id==“”)
@micha,因此我的第一行“empty”有点含糊不清。在大多数情况下,设置很糟糕。请提供详细的答案。
<?php

$nothing = NULL;
$something = '';
$array = array(1,2,3);

// Create a function that checks if a variable is set or empty, and display "$variable_name is SET|EMPTY"
function  check($var) {
    if (isset($var)) {
        echo 'Variable is SET'. PHP_EOL;
  } elseif (empty($var)) { 
        echo 'Variable is empty' . PHP_EOL;

   } 

} 

check($nothing);
check($something);
check($array);
<?php
    $val = 0;
    //evaluates to true because $var is empty
    if (empty($val)) {
        echo '$val is either 0, empty, or not set at all';
    }
    //evaluates to true because $VAR IS SET
    if (isset($val)) {
        echo '$val is set even though it is empty';
    }
    ?>
if (!empty($var) && is_null($var))
if (is_null($value)) {
   $value = "MY TEXT"; //define to suit
}