是否可以在PHP中的Echo语句中包含IF语句


Is it possible to have IF statement in an Echo statement in PHP

提前感谢。我确实查看了其他类似的问题/答案,但没有找到我想要的确切内容。

我正在努力做到这一点,我走的路对吗?

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语句的正确方法。非常感谢。

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

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

注意(),您需要它们。

使用PHP三元运算符,您可以在此处了解更多信息。

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>";

这将适用于

$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>";

不能在echo中嵌套if。您需要将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>";

或使用三元运算符:

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>";

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

取消前面的if