2016-02-11 6 views
1

Условие IF внутри эхо-инструкции не работает.Если состояние внутри echo

Я получаю эту ошибку:

Syntax error, unexpected ')' in

echo ' <div class="panel-body"> 
     '.$dec.' 
     '.(($ttype == "video") 
      ? '<iframe class="embed-responsive-item" 
       width="560" height="315" 
       src="https://www.youtube.com/embed/'.$only_id[1].'" frameborder="0" 
       allowfullscreen=""></iframe>').' 
       </div>'; 
+0

следует добавить еще одно значение, если оно не в состоянии ' ': "")' – roullie

+0

попробовать это: 'эхо'

> '.$dec.' > \t \t \t \t \t ('.$ttype.' == "video")?').' >
«, ' –

+0

попробовать это: - 'echo '

'.$dec.(($ttype == "video"))?':""
';' –

ответ

1

Вы можете конкатенировать с переменной. Это поможет вам избежать замешательства

$html = ''; 
$html .= '<div class="panel-body">'; 
$html .= $dec; 
$html .= ($ttype == "video")?'<iframe class="embed-responsive-item" width="560" height="315" src="https://www.youtube.com/embed/'.$only_id[1].'" frameborder="0" allowfullscreen=""></iframe>':'<!-- else part -->'; 
$html .= '</div>'; 
echo $html; 
1

сделать вашу жизнь проще и использовать так:

<div class="panel-body"> 
<?php echo $dec; ?> 
<?php 
(($ttype == "video") ? '<iframe class="embed-responsive-item" width="560" height="315" 
src="https://www.youtube.com/embed/'.$only_id[1].'" frameborder="0" allowfullscreen=""></iframe>' : ''); 
?> 
</div> 

В коде, вы упускаете условие еще троичного оператора.

Решение с кодом:

echo ' 
    <div class="panel-body">'.$dec.' 
    '.(($ttype == "video") ? ' 
     <iframe class="embed-responsive-item" width="560" height="315" 
     src="https://www.youtube.com/embed/'.$only_id[1].'" frameborder="0" allowfullscreen=""> 
     </iframe>' : ''). 
    '</div>'; 
Смежные вопросы