"Unexpected { on line …":找不到原因



我对此很生气——我找不到在最后一个"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" : ''; ?>

最新更新