【问题标题】:Concatenate PHP inside of echo [duplicate]在 echo 中连接 PHP [重复]
【发布时间】:2014-12-08 16:04:26
【问题描述】:

我尝试在已打开的 echo 函数中添加 if/else 语句,但页面出现空白。不太确定我是否正确连接。

echo '<span class="year-tab-'.$x.' '.if ($single_year==$year_selected) { echo "" } else { echo "display-none" }.' ">';

【问题讨论】:

    标签: php string string-concatenation


    【解决方案1】:

    你不能在串联内有控制结构

    $style = ($single_year==$year_selected) ? '' : "display-none";
    echo '<span class="year-tab-'.$x.' '.$style.'">';
    

    这种连接有点混乱。 printf() 可能会更干净一些

    printf('<span class="year-tab-%s %s">', 
        %x,
        ($single_year==$year_selected) ? '' : "display-none"
    );
    

    【讨论】:

    • 其实,你可以在 echo 中使用三元运算符,在你的第一个例子中不需要使用另一个变量(为了可读性,使用 if 会更好)
    【解决方案2】:

    或者你可以这样做:

    echo '<span class="year-tab-'.$x.' '.($single_year==$year_selected ? "" : "display-none").' ">';
    

    请参阅this page 上的三元运算符。

    【讨论】:

      【解决方案3】:

      使用三元运算符:

      echo '<span class="year-tab-'.$x;
      echo ($single_year==$year_selected)? '>' : ' style="display:none">';
      

      请注意,对于显示值,您必须将其包含在显示标签内。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-31
        • 2015-07-24
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-02
        • 2018-03-23
        相关资源
        最近更新 更多