如何在 echo 语句中使用 if 和 else?

How to use if and else inside echo statement?

我听说过有关三元运算符的一些信息,但我有点初学者,不知道如何使用它,我正在尝试这样做:

                   echo    '<div>
                           '.if(LoginCheck($this->db) == true):.'
                            <span class="option1"></span> 
                           '.else:.'
                           <span class="option1"></span>                             
                           '.endif;.'
                           </div>';

是的,三元运算符就是您要查找的内容,但您必须将它们链接起来才能获得 if-else 语句。

echo '<div>'.(LoginCheck($this->db) == true ?
     '<span class="option1">' : '<span class="option2"></span>').'</div>'

评估语句位于问号 (?) 之前,并且没有 if 标记放在语句之前。它只是求值为 true/false 的表达式,然后是问号,然后第一个语句是表达式是否为真,第二个语句与第一个语句用冒号 (:) 分隔,是表达式是否不真实。

查看 here 了解更多信息。

echo '<div>
     '.((LoginCheck($this->db)) ? '
     <span class="option1"></span>
     ' : '
     <span class="option1"></span>
     ').'</div>';

Article about PHP ternary operator

据我所知,您不能在 'echo' 中使用 'if-else' 语句。你必须使用反向。您可以在 'if-else' 语句中使用 'echo'。以下代码可能对您有所帮助:


    $html = "<div>";

    if(LoginCheck($this->db) == true){
        $html .= "<span class='option1'></span>";
    }else{
        $html .= "<span class='option2'></span>";
    }

    $html .= "</div>";

    echo $html