没空检查

时间:2015-10-27 05:12:52

标签: php null

我有像这样的简单PHP代码

$revenue = $this->dailyCounts['revenue'][$date]['net_revenue'] + (!empty($activity[$date]) ? $activity[$date] : 0) * 1000;

但是在$activity变量为NULL时,即使我检查为空,它始终会显示警告。我在循环内运行它,当undefined index具有空值时,它始终显示$activity

3 个答案:

答案 0 :(得分:1)

在这种情况下,使用isset而不是empty将无法解决任何问题。

  

如果变量不存在,则不会生成警告。这意味着empty()基本上是!isset($ var)||的简洁等价物$ var == false。

http://php.net/manual/en/function.empty.php

我猜通知来自$ this-> dailyCounts ['revenue'] [$ date] ['net_revenue']

答案 1 :(得分:0)

使用isset()代替empty()

(!isset($activity[$date])

empty()将直接检查该值,但isset()会查看索引是否存在。

有关详细信息,请参阅thisthis,其解释很清楚。

答案 2 :(得分:0)

试试这个:

$revenue = $this->dailyCounts['revenue'][$date]['net_revenue'] + ((isset($activity[$date]) && !empty($activity[$date])) ? $activity[$date] : 0) * 1000;