数据对比

未匹配的标注

使用 相同比较

不好:

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

$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/...

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~