数据对比

未匹配的标注

使用 相同比较

不好:

简单的比较将字符串转化为整数。

$a = '42';
$b = 42;

if ($a != $b) {
    // 表达式将始终通过
}

比较 $a != $b 返回 FALSE 但实际上它是 TRUE
字符串 42 不同于整数 42

好的:

相同比较将比较类型和值。

$a = '42';
$b = 42;

if ($a !== $b) {
    // 表达式已验证
}

比较 $a !== $b 返回 TRUE

Null 合并运算符

Null 合并是一个新的运算符 在 PHP 7 中引入。 null 合并运算符 ?? 已被添加为语法糖,用于常见情况下需要将三元组与 isset() 结合使用。如果第一个操作数存在且不为 null,则返回第一个操作数;否则返回第二个操作数。

坏的:

if (isset($_GET['name'])) {
    $name = $_GET['name'];
} elseif (isset($_POST['name'])) {
    $name = $_POST['name'];
} else {
    $name = 'nobody';
}

好的:

$name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/clean-code-php/...

译文地址:https://learnku.com/docs/clean-code-php/...

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~