0

这是更大代码的一部分,我不断收到解析错误 ::: 如果我在 $return 之外创建 if 函数并使用会话引用它,它可以工作,但这不是“好”编码 :::我怎么能解决这个烦人的问题还是更好地构建我的返回值?::: 非常感谢任何帮助 :::

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

3 回答 3

3

只需使用正确的if

...
if( isset($coda) ) {
  $return .= '<div id="coda' . $wallID . '"></div>'. "\n";
}
$return .= ...
...
于 2011-11-06T13:41:04.717 回答
1

这个估计有问题

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

它应该是

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

为了让它更干净,我建议你使用HEREDOC

于 2011-11-06T13:41:08.007 回答
0

使用三元运算符而不是误用的 if 块:

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

或更易读的 if 块为@Mat sugested

于 2011-11-06T13:49:51.530 回答