valor remove not multidimensional buscar array php arrays get

not - remove html tags php



¿Cómo pasar una matriz a través de $_GET en php? (4)

¿Cómo puedo pasar una o más variables de tipo array a otra página a través de $ _GET?

Siempre pasé valores variables en la forma ?a=1&b=2&c=3

¿Qué pasa con pasar a=[1,2,3] ?

¿Debo escribir un ciclo for y anexar todos los valores?

Gracias


Puede usar la sintaxis [] para pasar arrays a través de _GET:

?a[]=1&a[]=2&a[]=3

PHP entiende esta sintaxis, por lo que $_GET[''a''] será igual a la array(1, 2, 3) .

También puedes especificar claves:

?a[42]=1&a[foo]=2&a[bar]=3

Las matrices multidimensionales también funcionan:

?a[42][b][c]=1&a[foo]=2

http_build_query() hace esto automáticamente:

http_build_query(array(''a'' => array(1, 2, 3))) // "a[]=1&a[]=2&a[]=3" http_build_query(array( ''a'' => array( ''foo'' => ''bar'', ''bar'' => array(1, 2, 3), ) )); // "a[foo]=bar&a[bar][]=1&a[bar][]=2&a[bar][]=3"

Una alternativa sería pasar arreglos codificados json:

?a=[1,2,3]

Y puedes analizar a json_decode :

$a = json_decode($_GET[''a'']); // array(1, 2, 3)

Y codificarlo de nuevo con json_encode:

json_encode(array(1, 2, 3)); // "[1,2,3]"

Nunca use serialize() para este propósito . Serialize permite serializar objetos, y hay formas de hacer que ejecuten código. Por lo tanto, nunca debes deserializar cadenas que no sean de confianza.


Puede pasar una matriz asociativa a http_build_query() y anexar la cadena resultante como cadena de consulta a la URL. La matriz será analizada automáticamente por PHP, por lo que $_GET en la página de recepción contendrá una matriz.

Ejemplo

$query_str = http_build_query(array( ''a'' => array(1, 2, 3) ));


Simplemente repite tus $_GET variables como esta: name=john&name=lea

Esto te da una array .

¡Yo solía creer que sería sobrescrito!


$city_names = array( ''delhi'', ''mumbai'', ''kolkata'', ''chennai'' ); $city_query = http_build_query(array(''city'' => $city_names));

esto te dará:

city[0]=delhi&city[1]=mumbai&city[2]=kolkata&city[3]=chennai

si desea codificar los corchetes también, utilice el siguiente código:

$city_query = urlencode(http_build_query(array(''city'' => $city_names)));

Salida:

city%255B0%255D%3Ddelhi%26city%255B1%255D%3Dmumbai .....

Referencia: http_build_query , urlencode