2

这是我的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 }?>

为什么我会收到此错误?我有我需要的所有括号,不是吗?

4

4 回答 4

6

和不能以您拥有的方式与 PHP 标记分开}else {把它想象成你正在尝试做的事情:

<?php
if($some_condition) {
    //do something
}
echo '     ';
else {
    //something else
}

这会给你一个解析错误。因为您要关闭 PHP 标记,然后有效地输出空格,然后重新打开,所以您的代码的行为与此类似。如果你也要做同样的事情,这同样适用<?php }?><?php else {?>,只是它的行为就像你echo '';在两者之间做的那样。

于 2012-06-27T03:33:34.830 回答
4

一种更清洁且不易出错的方法是使用:

<?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; ?>
于 2012-06-27T03:35:01.010 回答
2

像这样重写,让我们看看

<?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不应该在一开始

于 2012-06-27T03:30:20.730 回答
2

像这样试试

<?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 }?>
于 2012-06-27T03:31:31.090 回答