在任何內容之前執行輸出緩衝區

ob_start();

$user_count = 0;
foreach( $users as $user ) {
    if( $user['access'] != 7 ) { continue; }
    ?>
    <li class="users user-<?php echo $user['id']; ?>">
        <a href="<?php echo $user['link']; ?>">
            <?php echo $user['name'] ?>
        </a>
    </li>
<?php
    $user_count++;
}
$users_html = ob_get_clean();

if( !$user_count ) {
    header('Location: /404.php');
    exit();
}
?>
<html>
<head>
    <title>Level 7 user results (<?php echo $user_count; ?>)</title>
</head>

<body>
<h2>We have a total of <?php echo $user_count; ?> users with access level 7</h2>
<ul class="user-list">
    <?php echo $users_html; ?>
</ul>
</body>
</html>

在這個例子中,我們假設 $users 是一個多維陣列,我們遍歷它以查詢訪問級別為 7 的所有使用者。

如果沒有結果,我們會重定向到錯誤頁面。

我們在這裡使用輸出緩衝區,因為我們根據迴圈結果觸發 header() 重定向