php - 我代码比较不会写,if语句嵌套太多,不好维护
巴扎黑
巴扎黑 2017-04-11 10:00:16
[PHP讨论组]

大家平时代码是怎么写的,如何竟可能的减少if语句的嵌套,让代码更好维护

巴扎黑
巴扎黑

全部回复(4)
PHP中文网

我一直提倡:

  • 好的习惯例如异常情况等提前return掉

例如,

一般写法:
function demo()
{
    if(...) {
        //....
    }else {
        // ...
    }
    return ...
}

提前return写法:
function demo()
{
    if(...) {
        return ...
    }
    return ...
}
  • 其次,使用异常,使用try...catch...捕获,

class Demo
{
    public function test()
    {
        if(...) {
            throw Exception('message', 'code');
        }
        //code...
    }
}

try {
    //code...
    $demo = new Demo();
    $demo->test();
}catch(Exception $e) {
    //code...
}

其他编码规范参考 符合PSR的PHP编程规范实例

天蓬老师

可以多试试下面的这些方法:

1. 三目运算

var username = a==b? 'wenzi' : 'skeetershi';

2. 或运算

a || (test()); // a为假时才执行test(),为假时则不执行

3. 与运算

a && (test()); // a为真时才执行test()

4. switch

if...else if比较多时,可以使用。

总结

用上面的4种方式代替if还能让代码显得高大上些。
而且,如果你的if嵌套过多的,可能是你的判断逻辑有问题,你需要变换一下判断条件

阿神

注释, 文档

PHP中文网

用ide格式化代码,自动匹配大括号

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号