此循环未正常运行


This loop isn't running correctly

我正在尝试打印这个数组,但他遇到了一些错误。我需要一双不同的眼睛才能看到这有什么问题!

<?php foreach($articles as $article) { ?>
<div>
    <div class="parent-info">
        <div class="parent-info-header">
<?php echo "<h2>" . $article->title . "</h2>"; ?>
        </div>
<?php echo "<p class='"parent-info-text'">" . $article->body . "</p>" ; ?>
    </div>
</div>
} ?>
<?php foreach($articles as $article) { ?>
<div>
    <div class="parent-info">
        <div class="parent-info-header">
<?php echo "<h2>" . $article->title . "</h2>"; ?>
        </div>
<?php echo "<p class='"parent-info-text'">" . $article->body . "</p>" ; ?>
    </div>
</div>
<?php } ?> <!-- You forgot the <?php tag here!
<?php foreach($articles as $article): ?>
    <div>
        <div class="parent-info">
           <div class="parent-info-header">
               <h2><?= htmlspecialchars($article->title) ?></h2>
           </div>
           <p class="parent-info-text"><?= htmlspecialchars($article->body) ?></p>
        </div>
    </div>
<?php endforeach; ?>

在你的html中使用更具可读性的php..它将挽救你的生命! 此外,使用 htmlspecialchars 将任何被回显到 html 中的内容包装总是明智的,所以我也添加了它。

短回声要求在您的 php.ini 中启用short_open_tag,所以我推荐使用它并不完全正确。

Protip:

$frame = <<<_EOI_
<div>
    <div class="parent-info">
        <div class="parent-info-header">
            <h2>%s</h2>
        </div>
        <p class="parent-info-text">%s</p>
    </div>
</div>
_EOI_;
foreach($articles as $article) {
    printf($frame, $article->title, $article->body)
}

学习printf()/sprintf()使事情更具可读性/可管理性。此外,赫雷多克斯。

    <?php foreach($articles as $article) { ?>
<div>
    <div class="parent-info">
        <div class="parent-info-header">
<?php echo "<h2>" . $article->title . "</h2>"; ?>
        </div>
<?php echo '<p class="parent-info-text">' . $article->body . '</p>' ; ?>
    </div>
</div>
<?php } ?>