使用未分配的变量是不好的做法

Sch*_*tsl 0 php

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

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

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

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

$username = "";
$firstname = "";
$lastname = "";
$email = "";
Run Code Online (Sandbox Code Playgroud)

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

Pau*_*aul 5

是的,这是一个不好的做法.如您所示,将其初始化为空字符串是最佳解决方案.或者,您可以像这样使用null合并运算符:

<?php echo $emailError ?? ''; ?>
Run Code Online (Sandbox Code Playgroud)

虽然每次你不确定它是否定义时你都需要这样做,所以最好只是像你那样初始化它.

正如@Jeff指出的那样,如果没有错误,你可能根本不想拥有跨度,在这种情况下你应该做这样的事情:

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