php - PHP E_NOTICE最佳实践-检查未定义的var是否有值是否不好?

标签 php error-handling e-notices

启用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的更多信息。

关于php - PHP E_NOTICE最佳实践-检查未定义的var是否有值是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51407763/

相关文章:

php - 如何摆脱 PHP 通知 : Undefined index: HTTPS in X on line 123

php - 有什么办法可以在 php 代码中注意到 E_NOTICE?

php - undefined variable : $_SESSION

php - 使用 PHP 查询访问 3 个不同选项卡的 MySql 数据库

javascript - 使用php自动打印

list - 不允许玩家移出2D网格Python 3之外

android对话框问题

php - 如何将保存在服务器文件夹中的图像与 mySQL 数据库中的数据一起显示?

javascript - 使用 JSON 数据填充选择选项

php - 在laravel中将数据保存到数据库时不断出现错误