$output10 .= ' <div class="panel panel-profile list-view">
<div class="panel-heading">
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object img-circle" src="../images/photos/user1.png" alt="">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">'. $row['username'] . '</h4>
'if($pAdminLevel == 0) : '<p class="media-usermeta"><i class="glyphicon glyphicon-briefcase"></i>' . $pAdminLevel . '</p>' endif; '
</div>
</div><!-- media -->
我想做一个if语句,但是它显示此错误。我发布的代码不是完整版本,这就是为什么缺少右括号的原因,我只是发布了我不明白的内容,谢谢。
语法错误,意外的'if'(T_IF)in
答案 0 :(得分:1)
不能在串联字符串中使用if
。
这里基本上有两个选择:
$output = "abc" . ($pAdminLevel == 0 ? "text when condition is true" : "text when it is false") . " other text";
代码的单独逻辑:
$output = "abc";
if ($pAdminLevel == 0) {
$output .= "cde";
} else {
$output .= "xyz";
}
答案 1 :(得分:0)
您可以尝试以下操作:
$output10 .= ' <div class="panel panel-profile list-view">
<div class="panel-heading">
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object img-circle" src="../images/photos/user1.png" alt="">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">'. $row['username'] . '</h4>' .
( $pAdminLevel == 0 ? '<p class="media-usermeta"><i class="glyphicon glyphicon-briefcase"></i>' . $pAdminLevel . '</p>' : '' ) .
'</div>
</div><!-- media -->';
语法是(boolean?true:false)。
没有其他方法可以进行内联条件。当然,您总是可以拆分字符串。
答案 2 :(得分:0)
您停止了字符串文字,但没有再次启动它。
$output10 .= '<div class="panel panel-profile list-view">
<div class="panel-heading">
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object img-circle" src="../images/photos/user1.png" alt="">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">'. $row['username'] . '</h4>';
if($pAdminLevel == 0) :
$output10 .= '<p class="media-usermeta"><i class="glyphicon glyphicon-briefcase"></i>' . $pAdminLevel . '</p>' ;
endif;
$output10 .= '</div>
</div><!-- media -->';
答案 3 :(得分:0)
在使用php管理html输出时,我喜欢以下模式:
$output10 .= '<div class="panel panel-profile list-view">';
$output10 .= '<div class="panel-heading">';
$output10 .= '<div class="media">';
$output10 .= '<div class="media-left">';
$output10 .= '<a href="#">';
$output10 .= '<img class="media-object img-circle" src="../images/photos/user1.png" alt="">';
$output10 .= '</a>';
$output10 .= '</div>';
$output10 .= '<div class="media-body">';
$output10 .= '<h4 class="media-heading">'. $row['username'] . '</h4>';
if($pAdminLevel == 0) {
$output10 .= '<p class="media-usermeta"><i class="glyphicon glyphicon-briefcase"></i>' . $pAdminLevel . '</p>';
}
$output10 .= '</div>';
$output10 .= '</div><!-- media -->';
这不是最漂亮的方法,但它避免使用可能不利于维护性的三元条件,并避免使用多行字符串(这在PHP中历来是有问题的)