是否可以在PHP的Echo语句中使用IF语句

时间:2012-01-28 23:41:47

标签: php if-statement echo nested

提前致谢。我确实看了其他类似的问题/答案,但没找到我想要的东西。

我正在尝试这样做,我是在正确的道路上吗?

echo " <div id='tabs-".$match."'>

    <textarea id='".$match."' name='".$match."'>".

    if ($COLUMN_NAME === $match)
        {
        echo $FIELD_WITH_COLUMN_NAME;
        }

    else
        {
        }

    ."</textarea>

<script type='text/javascript'>
CKEDITOR.replace( '".$match."' );
</script>

</div>";

我在浏览器中收到以下错误消息:

解析错误:语法错误,意外T_IF

如果这是在回声中嵌套IF语句的正确方法,请告诉我。谢谢。

5 个答案:

答案 0 :(得分:4)

没有。但是,您可以使用三元运算符。

$a = 0;
echo 'Foo ' . ($a == 0 ? 'zero' : 'non-zero') . ' Bar';

注意(),您需要它们。

答案 1 :(得分:3)

使用PHP三元运算符,您可以阅读更多相关信息here

echo " <div id='tabs-".$match."'>    
    <textarea id='".$match."' name='".$match."'>".
    ($COLUMN_NAME==$match ? $FIELD_WITH_COLUMN_NAME : "").
     "</textarea>    
      <script type='text/javascript'>
      CKEDITOR.replace( '".$match."' );
     </script>    
     </div>";

答案 2 :(得分:2)

这将有效

$val = ""; 
if ($COLUMN_NAME === $match)
        {
        $val =  $FIELD_WITH_COLUMN_NAME;
        }
echo " <div id='tabs-".$match."'>

    <textarea id='".$match."' name='".$match."'>".    $val    ."</textarea>

<script type='text/javascript'>
CKEDITOR.replace( '".$match."' );
</script>

</div>";

答案 3 :(得分:1)

您无法在if内嵌套echo。您需要将echo拆分为单独的语句:

echo " <div id='tabs-".$match."'>

    <textarea id='".$match."' name='".$match."'>";

    if ($COLUMN_NAME === $match)
        {
        echo $FIELD_WITH_COLUMN_NAME;
        }

echo "</textarea>

<script type='text/javascript'>
CKEDITOR.replace( '".$match."' );
</script>

</div>";

或使用the ternary operator

echo " <div id='tabs-".$match."'>

    <textarea id='".$match."' name='".$match."'>".

    (($COLUMN_NAME === $match) ? $FIELD_WITH_COLUMN_NAME : "")

    ."</textarea>

<script type='text/javascript'>
CKEDITOR.replace( '".$match."' );
</script>

</div>";

答案 4 :(得分:0)

使用... . ($COLUMN_NAME === $match) ? $FIELD-WITH_COLUMN_NAME : '' . ...

忽略它前面的if