«Ошибка разбора: синтаксическая ошибка, неожиданный T_IF in ...» при использовании оператора возврата - PullRequest
0 голосов
/ 06 ноября 2011

Это часть большего кода, я продолжаю получать ошибку синтаксического анализа ::: если я создаю функцию if вне $ return и ссылаюсь на нее с сеансом, она работает, но это не "хорошее" кодирование ::: Как я могу решить эту неприятную проблему или лучше построить мое возвращаемое значение? ::: Любая помощь очень ценится :::

$return = '';
    $return .='<div id="viewport">'. "\n";
    $return .= $ic . "\n";
    $return .='<div id="' . $wallID . '"></div>'. "\n"; 
    $return .='</div>'. "\n";                                  
    $return .= if( isset($coda) )'<div id="coda' . $wallID . '"></div>';. "\n";
    $return .='</div>'. "\n";                                   
    $return .='<div class="clearfix"></div>'. "\n";

 return $return;

Ответы [ 3 ]

3 голосов
/ 06 ноября 2011

Просто используйте правильное if:

...
if( isset($coda) ) {
  $return .= '<div id="coda' . $wallID . '"></div>'. "\n";
}
$return .= ...
...
1 голос
/ 06 ноября 2011

Это, вероятно, проблематично

$return .= if( isset($coda) )'<div id="coda' . $wallID . '"></div>';. "\n";

должно быть

$return .= ((isset($coda)) ? '<div id="coda' . $wallID . '"></div>' : '')."\n";

Чтобы сделать его еще более чистым, я бы предложил вам использовать HEREDOC

0 голосов
/ 06 ноября 2011

Используйте троичный оператор вместо неправильно используемого блока if:

$return .= isset($coda) ? "<div id='coda{$wallID}'></div>\n" : '';

или более читаемый блок if как @Mat sugested

...