Es el orden de las entradas en una entrada garantizada para las entradas de la matriz en PHP?

StackOverflow https://stackoverflow.com/questions/4400698

  •  25-09-2019
  •  | 
  •  

Pregunta

Tengo un formulario donde los usuarios entran en un número ilimitado de filas de datos. Llegan a la forma mediante la introducción de cualquier número de filas en la pantalla que desean.

<?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 el formulario se envió y recibo estos registros en la matriz $_POST['MYDATA'] si se puede garantizar que van a ser ordenados en el mismo orden en que fueron publicadas en la pantalla. O van a ser ordenadas por el uniqid() que se genera al azar?

La razón por la que uso un identificador único en lugar de números enteros sólo lo que sería más fácil de secuencia, es que los usuarios pueden eliminar filas y añadir filas adicionales usando javascript en esa página. Sería demasiado difícil de comprobar las colisiones.

¿Fue útil?

Solución

El W3 especificación no incluye normas sobre qué orden los valores de una forma debe ser ensamblados en un conjunto de datos, por lo que técnicamente no se puede estar seguro. Por otro lado, no he visto un caso (de numerosos navegadores en numerosos sistemas operativos en los últimos años), donde los datos no han sido suministrados en la fuente-lista-orden. Realmente no he probado para los casos cuando se cambia el valor predeterminado (IU) genera valores tabindex.

Siempre se puede ordenar la matriz ( asort ) después de que haya recibido que sea seguro acerca de qué orden que estés valores de lectura.

Otros consejos

Es una especie de garantizada por HTML4.01 (por -urlencoded, pero se supone que es idéntico para form-data /), y todos los navegadores actuales presentara los campos de formulario en el orden en que aparecen en el documento.

Así que sí, que están ordenados por su apariencia, no por el UUID al azar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top