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;
}
is_null
?$user_id
,$user_name
和$user_logged
在一行(可能是数组?)中写入而不重复NULL
?答案 0 :(得分:80)
如果您想测试变量是否真的 NULL
,请使用身份运算符:
$user_id === NULL // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
如果要检查是否未设置变量:
!isset($user_id)
或者如果变量不为空,则为空字符串,零,..:
empty($user_id)
如果要测试变量是否不是空字符串,!
也就足够了:
!$user_id
答案 1 :(得分:9)
您可以通过多种方式检查它是否未设置(或为空)。
if (!$var){ }
或者:
if ($var === null){ } // This checks if the variable, by type, IS null.
或者:
if (empty($var)){ }
您可以检查是否声明:
if (!isset($var)){ }
请注意,PHP将0(整数)和“”(空字符串)和false解释为“空” - 并且dispite是不同的类型,这些特定值由PHP认为是相同的。如果永远不设置/声明$ var或者声明为$ var = 0或$ var =“”,则无关紧要。因此,通常使用===运算符进行比较,该运算符与数据类型进行比较。如果$ var为0(整数),$ var ==“”或$ var == false将验证,但$ var ===“”或$ var === false则不会。
答案 2 :(得分:1)
empty()
稍微缩短一点,作为检查其他地方建议的!$user_id
的替代方法:
if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
答案 3 :(得分:1)
这里我已经解释了空函数和isset如何工作请使用合适的一个也可以使用is_null函数
<?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';
}
?>
答案 4 :(得分:1)
值得注意的是 - 我在PHP编码近9年后才发现这一点,检查任何变量的最佳方法是使用empty()函数。这是因为它不会产生错误,即使你关闭它们 - PHP仍会生成它们!如果变量不存在,则empty()不会返回错误。所以我认为正确的答案不是检查它是否为空而是要做以下
if (!empty($var) && is_null($var))
请注意PHP手册
如果变量不存在或者其值等于FALSE
,则该变量被视为空
相对于null而言,这里很方便!
答案 5 :(得分:0)
1
if(!($user_id || $user_name || $user_logged)){
//do your stuff
}
2。不,我实际上不明白你为什么写这样的结构。
3。将所有值放入数组,例如$ ar [“user_id”]等等。
答案 6 :(得分:0)
请用“空”来定义你的意思。
我通常使用的测试是isset()
。
答案 7 :(得分:0)
你可以使用isset()例程。
另外,您可以引用一系列is_type()函数,如
is_string(),is_float(),is_int()等进一步具体测试
答案 8 :(得分:0)
在PHP中检查变量是否为空的最佳和最简单的方法就是使用empty()函数。
如果为空($ variable) 然后 ....
答案 9 :(得分:0)
<?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);
答案 10 :(得分:0)
由于其他回应,感到不得不回答这个问题。如果可以,请使用empty(),因为它涵盖了更多的基础。未来你会感谢我。
例如,你必须做像isset()&amp;&amp ;; strlen(),你可以使用empty()。把它想象成空的就像!isset($ var)||是$ var ==假
答案 11 :(得分:0)
要检查空值,您可以使用is_null(),如下所示。
if (is_null($value)) {
$value = "MY TEXT"; //define to suit
}