具有多个逻辑运算符的嵌套IF条件(AND,OR)

时间:2018-05-19 20:11:37

标签: php if-statement optimization logical-operators

这是我关于stackoverflow的第一个问题,希望除了我之外,有人需要这种类型的代码。

我写的代码工作正常,但我想知道它是如何改进的,或者是否有更好的方法来实现相同的结果。

// Do NOT include files for '404' and pages 'abc' or 'def' with slug '123'
if (  $pageName !== '404'  ) 
{ 

    if (( $pageName == 'abc' ) && ( $pageSlug == '123' ) 
             OR ( $pageName == 'def' ) && ( $pageSlug == '123' )) {

        return NULL;

    }

    else {

        // include file
        require_once ( '/file.php' );

        // Do NOT include for page 'def'
        if ( $pageName !== 'def' ) {

            // include file
            require_once ( file_2.php' );

        }

    }

};

1 个答案:

答案 0 :(得分:1)

因为你已经在一个功能中已经可以减少你的一些嵌套,并立即返回404.此外,由于“返回NULL”而没有必要进行其他操作。我认为将你的if-or分解为2 ifs会使它更具可读性:

con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "INSERT INTO juice (ratescore) VALUES ('" + con.escape(kf) + "')";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
});