Ejemplo array dinámico

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <form>
            Introduzca número alumnos:
            <input type="text" name="numero">
            <input type="submit">
        </form>
        <?php
        $numero = filter_input(INPUT_GET, "numero");
        if (!empty($numero)) {
            ?>
            <form>
                Introduzca los nombres:
                <?php for ($i = 0; $i < $numero; $i++) { ?>
                    <p><input type="text" name="alumno[]"></p>
                <?php } ?>
                <input type="submit">
            </form>
            <?php
        }

        $alumnos = filter_input(INPUT_GET, "alumno", FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
        if (!empty($alumnos)) {
            foreach ($alumnos as $alumno) {
                echo "<p>$alumno</p>";
            }
        }
        ?>

    </body>
</html>