
Cuando trabajamos con formularios web, a menudo necesitamos recopilar múltiples valores de un mismo tipo. Imagina un formulario donde un usuario selecciona varios intereses de una lista o sube múltiples imágenes. Aquí es donde los arrays de inputs se vuelven indispensables.
Un array de inputs en un formulario HTML es una manera de agrupar múltiples campos de entrada (como text, checkbox, o select) bajo un mismo nombre. Cada campo dentro de este grupo compartirá el mismo atributo name, pero con corchetes [] añadidos al final. Esta notación le indica al servidor que estos campos forman parte de un array.
Creando Arrays de Inputs en HTML
La clave para crear un array de inputs está en el atributo name. Por ejemplo, si queremos permitir que un usuario seleccione múltiples sabores de helado, podríamos usar checkboxes con el siguiente código:
Must Read
<input type="checkbox" name="sabores[]" value="chocolate"> Chocolate<br>
<input type="checkbox" name="sabores[]" value="vainilla"> Vainilla<br>
<input type="checkbox" name="sabores[]" value="fresa"> Fresa<br>
Observa que todos los checkboxes tienen el mismo name: sabores[]. Los corchetes vacíos indican que este input es parte de un array. El atributo value de cada checkbox representa el valor que será enviado al servidor si el checkbox está seleccionado.
Otro ejemplo común es permitir que un usuario suba múltiples archivos:

<input type="file" name="archivos[]" multiple>
El atributo multiple en el input file permite al usuario seleccionar varios archivos. De nuevo, el name es archivos[], indicando un array.
Procesando Arrays de Inputs con PHP
Cuando el formulario se envía, PHP automáticamente transforma los inputs con el mismo name[] en un array asociativo accesible a través de las variables globales $_GET o $_POST, dependiendo del método del formulario.

Si el formulario usa el método POST, el array de sabores seleccionado en el ejemplo anterior estará disponible en $_POST['sabores']. Veamos un ejemplo de cómo procesar este array:
<?php
if (isset($_POST['sabores'])) {
$saboresSeleccionados = $_POST['sabores'];
echo "<p>Sabores seleccionados:</p>";
echo "<ul>";
foreach ($saboresSeleccionados as $sabor) {
echo "<li>" . htmlspecialchars($sabor) . "</li>";
}
echo "</ul>";
} else {
echo "<p>No se ha seleccionado ningún sabor.</p>";
}
?>
Primero, verificamos si el array $_POST['sabores'] existe usando isset(). Luego, iteramos sobre el array usando un bucle foreach para mostrar cada sabor seleccionado. Es importante usar htmlspecialchars() para prevenir ataques XSS, escapando caracteres especiales que podrían ser interpretados como código HTML.

Para el caso de la subida de archivos, el array $_FILES['archivos'] contendrá información sobre cada archivo subido, como el nombre, tipo, tamaño y la ubicación temporal. El procesamiento de subidas de archivos es más complejo y requiere validar el tipo de archivo y moverlo a una ubicación permanente en el servidor.
En resumen, los arrays de inputs son una herramienta poderosa para recopilar datos múltiples en formularios web. PHP facilita el procesamiento de estos arrays, permitiéndote crear aplicaciones web más interactivas y versátiles. Recuerda siempre validar y limpiar los datos recibidos para proteger tu aplicación contra vulnerabilidades.