【问题标题】:How to use if and else inside echo statement? [duplicate]如何在 echo 语句中使用 if 和 else? [复制]
【发布时间】:2017-08-10 08:55:45
【问题描述】:

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

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

【问题讨论】:

  • 只是一个快速的想法。仅仅因为你可以做某事,并不意味着你应该做 - 很容易以难以理解的混乱告终。从长远来看,可读性(和易于理解)更好。

标签: php if-statement conditional statements


【解决方案1】:

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

$html = "&ltdiv&gt"; if(LoginCheck($this->db) == true){ $html .= "&ltspan class='option1'>&lt/span>"; }别的{ $html .= "&ltspan class='option2'>&lt/span>"; } $html .= "&lt/div>"; 回声 $html

【讨论】:

  • 其实可以,下面的例子简直完美
【解决方案2】:
echo '<div>
     '.((LoginCheck($this->db)) ? '
     <span class="option1"></span>
     ' : '
     <span class="option1"></span>
     ').'</div>';

Article about PHP ternary operator

【讨论】:

    【解决方案3】:

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

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

    评估语句位于问号 (?) 之前,并且在语句之前没有 if 标记。它只是计算为真/假的表达式,然后是问号,然后第一个语句是如果表达式为真,第二个语句与第一个用冒号 (:) 分隔,如果表达式不是实话实说。

    查看here 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2020-01-31
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多