<!doctype html>
<html>
<head>
<title>Ejercicio 17</title>
<style>
*{
margin: 0 auto;
padding: 0 auto;
}
body{
font-family: Arial, sans-serif;
background: #f4f6f9;
align-items: center;
text-align: center;
}
nav{
background-color: #456D96;
color: white;
}
.ejercicio{
margin-top: 10px;
margin-bottom: 10px;
p{
font-weight: bold;
}
}
footer{
margin: auto;
background-color: #456d96;
text-align: center;
align-content: center;
height: 50px;;
color: white;
& a{
text-decoration: none;
}
}
td{
font-size: 12px;
width: 50px;
height: 50px;
border: 1px solid black;
text-align: center;
}
.libre{
background-color: greenyellow;
}
.ocupado{
background-color: lightcoral;
}
.filas{
background-color: lightsalmon;
}
.columnas{
background-color: lightblue;
}
.vacio{
border: 0px;
}
</style>
</head>
<body>
<nav>
<h2>DWES - Tema 3</h2>
<h2>Ejercicio 17</h2>
</nav>
<main>
<div class="ejercicio">
<?php
/*
* @author Álvaro Allén Perlines
* @since 27-10-2025
* Matriz (array bidimensional) donde se almacenan el nombre de las
* personas que tienen reservado un asiento en un teatro de 20 filas
* y 15 asientos por fila.
*/
// Declaramos las constantes $FILAS y $ASIENTOS que almacenan el número
// de filas y asientos que tiene el teatro.
define('NUMFILAS', 20);
define('NUMASIENTOS', 15);
// Declaramos las variables.
$aTeatro;
// Inicializamos la matriz de 20X15 con null como valor por defecto.
for($numFila = 1; $numFila <= NUMFILAS; $numFila++){
for($numColumna = 1; $numColumna <= NUMASIENTOS; $numColumna++){
$aTeatro[$numFila][$numColumna] = null;
}
}
$aTeatro[2][8] = 'Pepe';
$aTeatro[4][12] = 'Manuel';
$aTeatro[3][4] = 'Teresa';
$aTeatro[12][9] = 'Ainhoa';
$aTeatro[20][1] = 'Miguel';
// Vamos a recorrer la matriz mediante un foreach();
echo "<h3>Tabla con foreach()</h3>";
echo "<table>";
echo "<tr><td class='vacio'}></td>";
for($numColumna = 1; $numColumna <= NUMASIENTOS; $numColumna++){
echo "<td class='columnas'>A-".$numColumna."</td>";
}
echo "</tr>";
// En este caso estamos introduciendo en la variable $filas el número de la fila en la que estamos.
// En la variable $aAsientos tenemos el array de cada $fila.
foreach ($aTeatro as $numFilas => $aAsientos) {
echo "<tr>";
echo "<td class='filas'>Fila ".($numFilas)."</td>";
// Ahora mediante otro foreeach() inicializamos la variable $asiento con el numero de asiento.
// Y la variable $valor con el contenido de la posición $filas.
foreach ($aAsientos as $iAsiento => $nombre) {
if(is_null($nombre)){
echo "<td class='libre'>F".($numFilas)."-A".$iAsiento."</td>";
} else{
echo "<td class='ocupado'>" . $nombre. "</td>";
}
}
echo "<td class='filas'>Fila ".($numFilas)."</td>";
echo "</tr>";
}
echo "<tr><td class='vacio'></td>";
for($numColumna = 1; $numColumna <= NUMASIENTOS; $numColumna++){
echo "<td class='columnas'>A-".$numColumna."</td>";
}
echo "</tr>";
echo "</table>";
echo "<br>";
echo "<br>";
// Vamos a recorrer la matriz mediante un for();
echo "<h3>Tabla con for()</h3>";
echo "<table>";
echo "<tr><td class='vacio'}></td>";
for($numColumna = 1; $numColumna <= NUMASIENTOS; $numColumna++){
echo "<td class='columnas'>A-".$numColumna."</td>";
}
echo "</tr>";
// En este caso estamos introduciendo en la variable $filas el número de la fila en la que estamos.
// En la variable $aAsientos tenemos el array de cada $fila.
for ($numFila = 1; $numFila <= NUMFILAS; $numFila++) {
echo "<tr>";
echo "<td class='filas'>Fila ".($numFila)."</td>";
// Ahora mediante otro foreeach() inicializamos la variable $asiento con el numero de asiento.
// Y la variable $valor con el contenido de la posición $filas.
for ($numColumna = 1;$numColumna <= NUMASIENTOS; $numColumna++) {
if(is_null($aTeatro[$numFila][$numColumna])){
echo "<td class='libre'>F".($numFila)."-A".$numColumna."</td>";
} else{
echo "<td class='ocupado'>".$aTeatro[$numFila][$numColumna]."</td>";
}
}
echo "<td class='filas'>Fila ".($numFila)."</td>";
echo "</tr>";
}
echo "<tr><td class='vacio'></td>";
for($numColumna = 1; $numColumna <= NUMASIENTOS; $numColumna++){
echo "<td class='columnas'>A-".$numColumna."</td>";
}
echo "</tr>";
echo "</table>";
?>
</div>
</main>
<footer>
<div>
<a href="../indexProyectoTema3.php">
Álvaro Allén Perlines
</a>
<time datetime="2025-10-27">27-10-2025</time>
</div>
</footer>
</body>
</html>