这是我的PHP代码:
<?php if($user->uid == '1'){ ?>
<h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events -->
<?php } ?>
<?php else { ?> <h3 class="info">Athletic Events</h3> <?php }?>
为什么会出现此错误?我有我需要的所有括号,不是吗?
答案 0 :(得分:5)
}
和else {
无法按照您的方式拆分PHP标签。把它想象成你想做的事情:
<?php
if($some_condition) {
//do something
}
echo ' ';
else {
//something else
}
这会给你一个解析错误。因为您正在关闭PHP标记,然后有效地输出空格,然后重新打开,您的代码的行为与此类似。如果您同时执行<?php }?><?php else {?>
,也同样适用,只是它的行为与您在echo '';
之间的行为相同。
答案 1 :(得分:3)
更简洁且不易出错的方法是使用:
<?php if($user->uid == '1'): ?>
<h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events -->
<?php else: ?>
<h3 class="info">Athletic Events</h3>
<?php endif; ?>
答案 2 :(得分:1)
像这样改写,让我们看看
<?php if($user->uid == '1'){ ?>
<h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events -->
<?php
} else {
?>
<h3 class="info">Athletic Events</h3>
<?php
}
?>
这也有效
<?php if($user == '1'){ ?>
<h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events -->
<?php } else ?>
<?php { ?> <h3 class="info">Athletic Events</h3> <?php }?>
这是您代码的副本,但else
向上移动。所以很明显else
不应该在开始
答案 3 :(得分:1)
尝试这样
<?php if($user->uid == '1'){ ?>
<h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events -->
<?php } else { ?> <h3 class="info">Athletic Events</h3> <?php }?>