una tipos recorrer multidimensional matriz hacer elementos dentro como asociativo array agregar 3x3 php html html-form html-post

tipos - recorrer array multidimensional php



¿Se garantiza el orden de las ENTRADAS en una POST para las entradas de matriz en PHP? (2)

Tengo un formulario donde los usuarios ingresan un número ilimitado de filas de datos. Llegan al formulario ingresando el número de filas que deseen en la pantalla.

<?php $numRows = $_GET[''NUM_ROWS_REQUESTED'']; ?> <form method="post"> <?php for($i = 0; $i < $numRows ;$i++) { $uuid = uniqid(); ?> <input type="text" name="MYDATA[<?php print $uuid; ?>][FIRST_NAME]" /> <input type="text" name="MYDATA[<?php print $uuid; ?>][LAST_NAME]" /> <?php } ?> </form>

Me pregunto si, cuando se publique el formulario y recibo estos registros en la matriz $_POST[''MYDATA''] me puede garantizar que se ordenarán en la misma secuencia en que se publicaron en la pantalla. ¿O serán ordenados por el uniqid() que se genera aleatoriamente?

La razón por la que utilizo una ID única en lugar de solo enteros que sería más fácil de secuenciar, es que los usuarios pueden eliminar filas y agregar filas adicionales utilizando javascript en esa página. Sería demasiado difícil comprobar si hay colisiones.


Está garantizado por HTML4.01 (para -urlencoded, pero se supone que es idéntico para / form-data), y todos los navegadores actuales envían los campos de formulario en el orden en que aparecen en el documento.

Así que sí, están ordenados por su apariencia, no por el uuid aleatorio.


La especificación W3 no incluye reglas sobre el orden en que los valores de un formulario se deben ensamblar en un conjunto de datos, por lo que técnicamente no puede estar seguro. Por otro lado, no he visto un caso (de numerosos navegadores en numerosos sistemas operativos a lo largo de los años) donde los datos no se han suministrado en el orden de la lista de fuentes. Realmente no he probado los casos al cambiar los valores de tabindex predeterminados (UI generados).

Siempre puede ordenar la matriz ( asort ) después de asort recibido para estar seguro de en qué orden está leyendo los valores.