Syntax error: PHP brackets issue for IF and FOREACH?

Syntax error: PHP brackets issue for IF and FOREACH?

<?php if (count($errors) > 0): ?>
  <div class="error">
     <?php foreach ($errors as $error) ?>
     <p><?php echo $error; ?></p>
  <?php endforeach ?>
  </div>
<?php endif ?>

如果这对你们中一些更有经验的 PHP 开发人员来说很明显,我深表歉意,但我的代码有以下错误;

ForEach must uses braces

Unexpected endforeach after string

我知道这些 { 大括号应该插入某处,但我不确定插入的位置和顺序?另外,在有问题的字符串之后我需要做什么?

如有任何帮助,我们将不胜感激。谢谢

如果您使用替代语法,则需要在 foreach

之后添加冒号 :
foreach ($errors as $error):
                          ^^^

或者,您可以使用方括号 {}(我 个人 觉得更容易阅读):

<?php foreach ($errors as $error) { ?>
     <p><?php echo $error; ?></p>
<?php } ?>

而且没有理由像那样进出 PHP,你不妨一次性完成所有操作,使用双引号我们仍然可以按值传递变量,所以我们不也不需要将 HTML 连接到 $error 变量。

<?php foreach ($errors as $error):
    echo "<p>$error</p>";
endforeach; ?>