2012-01-28 7 views
2

Заранее спасибо. Я посмотрел на другие вопросы/ответы, которые были похожи и не нашли именно то, что я искал.Возможно ли иметь оператор IF в выражении Echo в 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

Пожалуйста, дайте мне знать, если это правильный путь идти о вложенности Условный внутри эха. Спасибо.

+0

* Почему * Вы хотел бы написать такой код? Назначьте его переменной, а затем эхо-сигнал. Еще лучше, посмотрите на шаблон дизайна MVC. –

ответ

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

спасибо! очень просто! –

4

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

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

Отметьте (), они вам понадобятся.

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

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

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

Смежные вопросы