Tema: Manejo arrays (arreglos, matrices ..)
Pregunta: Como paso un array de un script.php a otro.php
Respuesta:
Hay que
serializar el array para enviarlo por el URL o en un formulario en un campo "hidden" ... Y, en el script que reciba el array debera de des-serializarlo.
A todo esto, es recomendable eliminar los slahes (\ barra invertida) que se generan si usamos magic_quotes_gpc a ON y codificar las variables con urlencode() para eviatar problemas con cartacteres en nuestros arrays tipo: puntos, comillas y otros caracteres.
enviar_array.php
Código PHP:
<?
function array_envia($array) {
$tmp = serialize($array);
$tmp = urlencode($tmp);
return $tmp;
}
$array=array("algo","nose","otracosa");
$array=array_envia($array);
// Usando un formulario y campo hidden.
echo <<<HTML
<form action="recibir_array.php" method="POST">
<input name="array" type="hidden" value="$array">
<input name="enviar" type="submit" value=" Enviar ">
</form>
HTML;
// Usando un link (URL).
echo "<a href=\"recibir_array.php?array=$array\">pasar array</a>";
?>
recibir_array.php
Código PHP:
<?
function array_recibe($url_array) {
$tmp = stripslashes($url_array);
$tmp = urldecode($tmp);
$tmp = unserialize($tmp);
return $tmp;
}
$array=$_GET['array'];
// el método de envio usado. (en el ejemplo un link genera un GET. En el formulario se usa POST podria ser GET tambien ...)
$array=array_recibe($array);
foreach ($array as $indice => $valor){
echo $indice." = ".$valor."<br>";
}
?>
Ahi en recibir_array.php tienes un ejemplo de como recorrer el array que has enviado . igualmente puedes acceder por su indice: $array[indice] ...
Si usasemos un formulario para enviar nuestra array .. solo tendriamos que usar un campo hidden común de formulario y alplicar la funcion array_envia().
Un saludo,