php - 使用未分配的变量是不好的做法
问题描述
在我的代码中,我使用 php 变量来显示错误,例如
<span class="error"><?php echo $emailError; ?></span>
我只在有错误填充变量时定义变量,所以现在 XAMPP 显示此错误
Notice: Undefined variable: emailError
它只是一个通知,因此在部署代码时我会禁用通知,或者我可以在之前定义所有内容以使其消失。
$emailError = "";
$usernameError = "";
$firstnameError = "";
$lastnameError = "";
$languageError = "";
$passwordError = "";
$username = "";
$firstname = "";
$lastname = "";
$email = "";
但是我觉得在我的代码中看到这样的东西很奇怪,所以我的问题是。仅在需要时分配变量但始终尝试显示它们是不好的做法吗?
解决方案
是的,这是一种不好的做法。像您展示的那样将其初始化为空字符串是最好的解决方案。或者,您可以像这样使用空合并运算符:
<?php echo $emailError ?? ''; ?>
尽管每次不确定它是否已定义时都需要这样做,但最好像您所做的那样初始化它。
正如@Jeff 指出的那样,如果没有错误,您可能根本不想拥有跨度,在这种情况下您应该执行以下操作:
<?php if ( ! empty($emailError) ) { ?>
<span class="error"><?php echo $emailError; ?></span>
<?php } ?>
推荐阅读
- json - UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 的字节 0x89:无效的起始字节
- java - 哪个更好,使用 join spark 方法或获取已经被 sql 连接的数据集?
- r - 将 S4 对象保存在列表列表中
- python - 从函数+循环制作列表
- graphql - GraphQL 解析器可以强制检索父级中的参数吗?
- c++ - Boost.Preprocessor 索引列表与宏
- python - 单整数列表列表到单整数列表列表
- next.js - 如何使用 next.js 导入带有空格的文件?
- python - 获取 protobuf 当前时间戳
- openai-gym - 关于open ai健身房复古的一些问题