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
?如果你想测试一个变量是否真的
NULL
,请使用恒等运算符:
$user_id === NULL // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
如果要检查变量是否未设置:
!isset($user_id)
或者,如果变量未设置或具有“空”值(空字符串、零等,请参阅此页了解完整列表):
empty($user_id)
如果要测试现有变量是否包含空字符串,则将其与空字符串进行比较:
$user_id === ''
如果您想测试现有变量是否包含被视为“非空”的值(非空字符串或数组、非零数字等..),
!
就足够了:
!$user_id
您可以通过多种方式检查它是否未设置(或为空)。
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 将无效。
这里我已经解释了空函数和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';
}
?>
empty()
有点短,作为检查 !$user_id
的替代方法(如其他地方建议的那样):
if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
要检查空值,您可以使用 is_null(),如下所示。
if (is_null($value)) {
$value = "MY TEXT"; //define to suit
}
您可以使用 isset() 例程。
此外,您还可以引用一系列 is_type () 函数,例如
is_string(), is_float(),is_int()等进一步具体测试
1.
if(!($user_id || $user_name || $user_logged)){
//do your stuff
}
2 .不,我实际上不明白你为什么要写这样的构造。
3.将所有值放入数组中,例如 $ar["user_id"] 等
<?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() 不会返回错误。所以我相信正确的答案不是检查它是否为空而是执行以下操作
if (!empty($var) && is_null($var))
注意 PHP 手册
如果变量不存在或者其值等于 FALSE,则该变量被视为空
与 null 不同,这在这里很方便!
由于其他回复,我觉得有必要回答这个问题。如果可以的话使用empty(),因为它涵盖了更多的基础。未来你会感谢我的。
例如,您必须执行诸如isset() && strlen() 之类的操作,而您可以使用empty()。想像一下这个空就像 !isset($var) || $var==假
在 PHP 中检查变量是否为空的最好、最简单的方法就是使用 empty() 函数。
如果为空($变量) 然后 ....