Cita:
Iniciado por lagunafmr Podrías ponerme un poco de código o indicarme algún sitio donde pueda ver lo que comentas, me interesa ver esa opción que das con mas desarrollo.
usando la forma de contadores...
Código PHP:
for ($i = 0; $i < 10; ++$i)
{
echo '<input name="foo' . $i . '"/>';
}
bien, al parecer funciona... e imprime los distintos inputs con sus
name de una forma poco dinámica...
ahora... para recibir esta información es necesario saber la cantidad de elementos que hemos desplegado antes... ¿como lo hacemos??
pues es simple... volvemos a usar un contador
Código PHP:
for ($i = 0; $i < 10; ++$i)
{
$foo = $_POST['foo' . $i];
}
y es verdad, no deja de ser una alternativa útil... pero no es lo mejor, ni siquiera es lo mas óptimo... ya que hemos usado dos ciclos idénticos, ¿que caso tenía??
¿y que sucede si en la pagina de destino desconocemos el numero total de elementos? ¿como hacer el ciclo adecuado??, según mi experiencia esto trae mas problemas que soluciones...
pero, y si usamos la notación de array?
Código PHP:
for ($i = 0; $i < 10; ++$i)
{
echo '<input name="foo[' . $i . ']"/>';
}
en todo caso en esta parte del proceso no cambia mucho la sintaxis...
pero al resolver la captura de los valores vemos ya la ventaja
Código PHP:
foreach ($_POST['foo'] as $key => $value)
{
// ...
}
simple, al ser un arreglo podemos trabajar con el dinámicamente sin tener que saber el numero de elementos a inspeccionar...
así jamás necesitaremos de nuevo el contador, y si queremos saber el numero de elementos pues usamos
count(),
sizeof(), etc... ;)
en resumen, es mejor trabajar con colecciones de datos en forma de arreglo que hacer trucos chinos numerando innecesariamente las variables...
un ejemplo, sumar todos los valores de determinada colección de elementos....
si usamos la notación de array, con
array_sum() y bingo!
si no... pues hay que volver a hacer un ciclo, etc, etc...