首页 > 解决方案 > 使用未分配的变量是不好的做法

问题描述

在我的代码中,我使用 php 变量来显示错误,例如 <span class="error"><?php echo $emailError; ?></span>

我只在有错误填充变量时定义变量,所以现在 XAMPP 显示此错误 Notice: Undefined variable: emailError

它只是一个通知,因此在部署代码时我会禁用通知,或者我可以在之前定义所有内容以使其消失。

$emailError = "";
$usernameError = "";
$firstnameError = "";
$lastnameError = "";
$languageError = "";
$passwordError = "";

$username = "";
$firstname = "";
$lastname = "";
$email = "";

但是我觉得在我的代码中看到这样的东西很奇怪,所以我的问题是。仅在需要时分配变量但始终尝试显示它们是不好的做法吗?

标签: php

解决方案


是的,这是一种不好的做法。像您展示的那样将其初始化为空字符串是最好的解决方案。或者,您可以像这样使用空合并运算符

<?php echo $emailError ?? ''; ?>

尽管每次不确定它是否已定义时都需要这样做,但最好像您所做的那样初始化它。

正如@Jeff 指出的那样,如果没有错误,您可能根本不想拥有跨度,在这种情况下您应该执行以下操作:

<?php if ( ! empty($emailError) ) { ?>
    <span class="error"><?php echo $emailError; ?></span>
<?php } ?>

推荐阅读