我对此很生气——我找不到在最后一个"else"(下面第7行(之后抛出"意外{"-错误的原因。有人看到我没有看到的东西吗?
<?php
$i = 0;
foreach($bgs as $bg) { ?>
<?php $i++; ?>
<div class="item <?php if($i == '1') echo "active"; ?> img-responsive" style="background-image: url('/new/images/<?=$bg['b_url']?>')" >
<div class="metabox">
<?php if(($bg['b_weight']) != '1000') { ?>
<h1><?=$bg['w_titel']?></h1>
<p><?=$bg['w_info']?> // <?=$bg['w_jahr']?> // <?=$bg['w_ort']?><?=$bg['w_function']?></p>
<?php if (isset($_GET['w']) && (is_numeric($_GET['w']))) { ?>
<?=$bg['w_desc']?>
<?php } else { ?>
<p><a href="index.php?w=<?=$bg['werkid']?>&t=<?=$bg['urlslug']?>" target="_self">More</a></p>
<?php } ?>
<?php } else { ?>
<h1><?=$bg['w_titel']?></h1>
<p><?=$bg['w_info']?></p>
<?php } ?>
</div>
</div>
<?php } ?>
这很难阅读,我很同情你。你有没有想过为if
使用另一种语法
尝试使用
<?php if (condition) :?> <?php do something; ?>
<?php else: do something; ?>
<?php endif; ?>
这很奇怪:就在所说的最后一条else
语句之前,它是一个不可见的项(不知道它可能是什么?(-当我删除前面的}
和else
之间的空格,并插入一个新的空格时,代码解析得很好。
一切看起来都很好。试着使用以下语法,它会更易读。
foreach($bgs as $bg) :
$i++;
if(1 != '1000') :
echo 3;
if ( 1 != 2) :
echo 4;
else:
echo 1;
endif;
else:
echo 2;
endif;
endforeach;
也尝试替换:
<?php if($i == '1') echo "active"; ?>
至:
<?= $i == '1' ? "active" : ''; ?>