Можно ли иметь оператор IF в операторе Echo в PHP? - PullRequest
2 голосов
/ 29 января 2012

Заранее спасибо. Я посмотрел на другие вопросы / ответы, которые были похожи, и не нашел именно то, что искал.

Я пытаюсь это сделать, я на правильном пути?

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 ]

4 голосов
/ 29 января 2012

Нет.Однако вы можете использовать троичный оператор.

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

Обратите внимание на (), они вам нужны.

3 голосов
/ 29 января 2012

Используйте троичный оператор 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>";
2 голосов
/ 29 января 2012

Это будет работать

$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>";
1 голос
/ 29 января 2012

Вы не можете вложить 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>";

или использовать троичный оператор :

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>";
0 голосов
/ 29 января 2012

использовать ... . ($COLUMN_NAME === $match) ? $FIELD-WITH_COLUMN_NAME : '' . ...

отклонить, если перед ним

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...