php中的isset()和empty()之间的差异

时间:2016-06-20 03:54:16

标签: php mysql isset

我想检查星期一是否是假日,如果是,则将值分配给$ ts,然后转到星期二。

@ViewBag.Countries

数据库中的数据类似于{“hours_from_Mon”:“”,“hours_from_Tue”:“凌晨2点到下午5点”}

  if (isset($list->hours_from_MON)) {
            $ts = $list->hours_from_MON;

        } else  (isset($list->hours_from_TUE)) {
            $ts = $list->hours_from_TUE;

2 个答案:

答案 0 :(得分:2)

ISSET检查变量是否已设置,换句话说,它检查变量是否为除NULL以外的任何值或未赋值。如果变量存在且ISCS不是NULL,则ISSET返回TRUE。这意味着设置了分配了“”,“0”,“0”或“FALSE”的变量,因此ISSET为TRUE。

EMPTY检查变量是否为空。 Empty被解释为:“”(空字符串),0(0作为整数),0.0(0作为浮点数),“0”(0作为字符串),NULL,FALSE,array()(空数组) )和“$ var;” (声明的变量,但在类中没有值。

source from click here

答案 1 :(得分:1)

    如果变量存在且

    ,则
  • isset()将返回TRUE

  • empty()将检查变量是否为空。

您可以使用empty()而无需检查变量是否已设置且不会发出警告。

以下内容被认为是空的:

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)