2011-07-03 22 views
5

Por ejemplo, digamos que publico algunos datos en un archivo php, pero no sé cuáles son los nombres de esos valores. Donde normalmente realizaría $_POST["username"] o algo similar. ¿Cómo hago para obtener una lista de todos los pares clave/valor dentro de $_POST

Respuesta

7

array_keys($_POST) le dará las claves de la matriz.

También puede hacer esto para conseguir los valores con los nombres clave:

foreach ($_POST as $key => $value) 
{ 
    //do stuff; 
} 

Sin embargo !!! ¿Por qué no sabes qué claves hay en la publicación? No quiere que los hackers coloquen elementos aleatorios en una publicación, se la envíen y procese. No hay nada que les impida ingresar miles de entradas.

+0

hola, gracias por su respuesta, esto no va a ser parte de un sistema real que estoy construyendo, simplemente simplificaría algunas de las pruebas que estoy haciendo mientras conozco mejor todos los trucos de Ajax que puede hacer jQuery. hacer. –

+1

@Tom - ¡Buena suerte! – evan

7

Uso array_keys para obtener todas las claves en $_POST gama súper mundial:

array_keys($_POST) 

ejemplo simple:

foreach (array_keys($_POST) as $key) 
{ 
    print $_POST[$key]; 
} 
+1

Ese 'foreach' es malo ya que tiene que recorrer todos los elementos dos veces en vez de una vez. Primero, el sistema pasa por la matriz construyendo una nueva matriz para 'array_keys()', luego vuelve a pasar por 'foreach()'. Esa es una operación O (2n) en lugar de O (n) simplemente haciendo 'foreach ($ array as $ key => $ value)' como publiqué. – evan

Cuestiones relacionadas