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
}