PHP Ejecutando buffer de salida antes de cualquier contenido.


Ejemplo

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>

En este ejemplo, asumimos que $users son una matriz multidimensional, y lo hacemos en bucle para encontrar a todos los usuarios con un nivel de acceso de 7.

Si no hay resultados, redirigimos a una página de error.

Estamos utilizando el búfer de salida aquí porque estamos activando un redireccionamiento de header() basado en el resultado del bucle