语法错误:IF和FOREACH的PHP括号问题?

时间:2017-06-04 23:19:32

标签: php if-statement foreach syntax-error brackets

<?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必须使用大括号

     

字符串

后意外的endforeach

我知道这些{大括号应插在某个地方,但我不知道在哪里以及以什么顺序?另外,在问题字符串后我需要做什么?

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:4)

如果您使用其他语法,则需要在:

之后添加冒号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; ?>