首页 > 解决方案 > 语法错误,意外的 'endforeach' (T_ENDFOREACH),期待 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF)

问题描述

这里的php native有点问题,这里是代码

    <?php foreach ($posts as $post): ?>
    <div class="post" style="margin-left: 0px;">
        <img src="<?php echo BASE_URL . '/static/images/' . $post['image']; ?>" class="post_image" alt="">
        <!-- added if statement -->
        <?php if (isset($post['topic']['name'])): ?>
        <a href="<?php echo BASE_URL . 'filteredposts.php?topic='. $post['topic']['id'] ?>"
        class= "btn category">
        <?php echo $post['topic']['name'] ?>
        </a>
        </php endif ?>
        <a href="single_post.php?post-slug=<?php echo $post['slug']; ?>">
            <div class="post_info">
                <h3><?php echo $post['title'] ?></h3>
                <div class="info">
                    <span><?php echo date("F j, Y ", strtotime($post["created_at"])); ?></span>
                    <span class="read_more">Read more...</span>
                </div>
            </div>
        </a>
    </div>
        <?php endforeach; ?>
        </div>

错误:

Parse error: syntax error, unexpected 'endforeach' (T_ENDFOREACH), expecting elseif (T_ELSEIF) or else (T_ELSE) or endif (T_ENDIF) 

任何帮助将不胜感激,谢谢大家。

标签: php

解决方案


尝试将您的代码更改为

<?php foreach ($posts as $post): ?>
<div class="post" style="margin-left: 0px;">
    <img src="<?php echo BASE_URL . '/static/images/' . $post['image']; ?>" class="post_image" alt="">
    <!-- added if statement -->
    <?php if (isset($post['topic']['name'])): ?>
    <a href="<?php echo BASE_URL . 'filteredposts.php?topic='. $post['topic']['id'] ?>"
    class= "btn category">
    <?php echo $post['topic']['name'] ?>
    </a>
    <?php endif; ?>
    <a href="single_post.php?post-slug=<?php echo $post['slug']; ?>">
        <div class="post_info">
            <h3><?php echo $post['title'] ?></h3>
            <div class="info">
                <span><?php echo date("F j, Y ", strtotime($post["created_at"])); ?></span>
                <span class="read_more">Read more...</span>
            </div>
        </div>
    </a>
</div>
    <?php endforeach; ?>
    </div>

你刚刚打了一个小错字</php endif ?>


推荐阅读