php - php中isset()和empty()的区别

标签 php mysql isset

<分区>

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

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

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

数据库中的数据类似于 {"hours_from_Mon":"","hours_from_Tue":"2am to 5pm"}

Here in the above case it should take ts as 2am to 5pm,but it is accepting "",i think i should use  

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

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


   So that it will go to tue if,mon has no value.Am i right?Can some one help me.

最佳答案

  • isset()如果变量存在并且具有 null 或 false 以外的值,将返回 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)

关于php - php中isset()和empty()的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37914415/

相关文章:

mysql - sql自连接表删除重复行

php - 为什么 array_key_exists 比引用数组上的 isset 慢 1000 倍?

php - 值肯定是 POSTED 但 isset() 说 NO

javascript - 在 javascript 和 PHP 之间发送 JSON 字符串的正确方法是什么?

mysql - 是否可以生成更多表的 MYSQL 查询,其中一个表列的值作为更多查询列?

mysql - SQL:当 PK 等于同一字段上两个不同行中的两个特定值时返回值

php - 测试数组键是否存在的最佳方法

php - 如何在codeigniter中减去时间和日期?

php - 如何在 MySQL INSERT 查询中将 PHP 变量与 SELECT 数据混合使用?

php - 检查字符串名称中的点