启用E_NOTICE错误消息后,PHP不喜欢以下代码,除非已经定义了$mdDialog$mdToast变量:

if ($mdDialog || $mdToast) {
    $ngMaterial = true;
}

为了避免E_NOTICE错误,我必须写:
if (isset($mdDialog) || isset($mdToast)) {
    $ngMaterial = true;
}

问题在于,使用上述代码,如果我在较早的位置有$mdDialog = false;行,则该语句将是真实的,这不是主意。为了避免这种情况,我必须写:
if ((isset($mdDialog) && $mdDialog) || (isset($mdToast) && $mdToast)) {
    $ngMaterial = true;
}

这太长了,而且感觉太过冗长,仅是避免E_NOTICE消息。

所以,问题是,我应该关心这些E_NOTICE消息吗?检查可能不存在的变量的值有什么不好的地方吗?

最佳答案

empty在这种情况下可能很有用。如下所示:

if (!empty($mdDialog) || !empty($mdToast)) {
    $ngMaterial = true;
}

阅读有关empty的更多信息。

10-04 13:58