Foros del Web » Programando para Internet » PHP »

problema con arreglo

Estas en el tema de problema con arreglo en el foro de PHP en Foros del Web. Hola, no se como enviar un arreglo bidimencional , me pueden ayudar? // declaro el condenado arreglo $var_arreglo= array(); $formuficha[1][1]= "" ; $formuficha[2][2] = 8; ...
  #1 (permalink)  
Antiguo 31/12/2002, 17:31
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 15 años
Puntos: 0
Pregunta problema con arreglo

Hola, no se como enviar un arreglo bidimencional , me pueden ayudar?

// declaro el condenado arreglo
$var_arreglo= array();

$formuficha[1][1]= "" ;
$formuficha[2][2] = 8;
//.......................... hasta n valores.

//y no se como enviar el arreglo, por ejemplo:

echo "<a href='suma.php?arreglof=$formuficha'>Imprime suma</a>";

//cuando lo cacho $arreglof en suma.php no me imprime nada
echo $arreglof[1][1];

Saludos y Felicidades !
  #2 (permalink)  
Antiguo 31/12/2002, 17:53
Avatar de WebMaster  
Fecha de Ingreso: agosto-2001
Ubicación: Cd.Guzman, Jalisco
Mensajes: 164
Antigüedad: 16 años, 4 meses
Puntos: 0
Sonrisa

Hola, q tal...por el ejemplo q escribiste puedo decirte q no estas usando de forma correcta los arrays bidimencionales, t dejo un ejemplo de como nombrarlos y como imprimirlos en masa:

Código PHP:
<?
// Nombrando un array bidimencional
$myvar[0][0]="a";
$myvar[0][1]="b";
$myvar[0][2]="c";
$myvar[0][3]="d";
$myvar[1][0]="e";
$myvar[1][1]="f";
$myvar[1][2]="g";
$myvar[1][3]="h";
// imprimiendo el array bidimencional
for ($m=0;$m<=1;$m++){ for ($s=0;$s<=3;$s++) { echo $myvar[$m][$s]."<br>\n"; } }
?>

esto deberia imprimir:


a
b
c
d
e
f
g
h


espero t haya sido de utilidad



  #3 (permalink)  
Antiguo 31/12/2002, 17:57
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 15 años
Puntos: 0
ademas, el arreglo que estas imprimiendo justo ese valor lo declaraste vacio

Saludos
  #4 (permalink)  
Antiguo 31/12/2002, 18:13
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 15 años
Puntos: 0
disculpen

Que maleta soy, disculpa vuelvo a redactar la pregunta.

Si tengo una arreglo bidimensional, supongamos el que declaraste (Web Master)

// Nombrando un array bidimencional
$myvar[0][0]="a";
$myvar[0][1]="b";
$myvar[0][2]="c";
$myvar[0][3]="d";
$myvar[1][0]="e";
$myvar[1][1]="f";
$myvar[1][2]="g";
$myvar[1][3]="h";

y quiero mandar los valores a traves de una referencia

echo "<a href='display_datos.php?arreglof=$myvar'>Imprime Datos</a>";

Ojo, lo que no quiero es mandarle uno por uno los elementos del arreglo en la referencia sino mandarle todo arreglo , cacharlo en display_datos.php y entonces imprimir los elementos del arreglo, tal y como lo anotaste.



// imprimiendo el array bidimencional
for ($m=0;$m<=1;$m++){ for ($s=0;$s<=3;$s++) { echo $myvar[$m][$s]."<br>\n"; } }
?>


saludos
  #5 (permalink)  
Antiguo 31/12/2002, 18:19
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 15 años
Puntos: 0
pues para mostrarlos todos debes hacer

Código PHP:
for($i 0$i 3$i++) {
   for(
$j 0$j 3$j++) {
        echo 
$mybar[$i][$j];
   }

Saludos
  #6 (permalink)  
Antiguo 31/12/2002, 18:34
Avatar de WebMaster  
Fecha de Ingreso: agosto-2001
Ubicación: Cd.Guzman, Jalisco
Mensajes: 164
Antigüedad: 16 años, 4 meses
Puntos: 0
puedes probar esto....así t entendi :·|


Código PHP:
for ($m=0;$m<=1;$m++){ for ($s=0;$s<=3;$s++) { echo "<a href='display_datos.php?arreglof=" $myvar[$m][$s] . "'>Imprime Datos</a><br>\n"; } } 




  #7 (permalink)  
Antiguo 31/12/2002, 18:39
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 15 años
Puntos: 0
hola

Perecioso, creo que la forma en que envio el arreglo en la referencia no es la correcta, por ello no me llegan lo datos del arreglo cuando recorro el arreglo con el for en display_datos.php.
Saludos!.
  #8 (permalink)  
Antiguo 01/01/2003, 09:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En las FAQ's de PHP (mensaje de este foro) está resuelto el tema .. Deben de Serializar el array para pasarlo por el URL .. (dense cuenta el link que genera tal cual lo usan .. veran que dice "display_datos.php?arreglof=Array"). Ademas de serializar .. es recomendable eliminar los "slashes" (\) añadidos (si se usa magic_quotes que es lo típico) ... Ahí veran un par de funciones para hacer todo esto y un ejemplo con un array unidimensional .. pero de igual forma funciona para arrays multidimensionales .. solo tienen que acceder con un bucle como los propuestos aquí a todo el array/elementos o a un elemento concreto con la notación tipica.

http://www.forosdelweb.com/showthrea...072#post262072

Otro ejemplo para recorrer el array bidimensional entero: (usando bucles foreach .. Con esto nos da igual el número de elementos que tenga el array bidimensional .. tanto de "padres" como de "hijos").

Código PHP:
$arreglof=array_recibe($_GET['arreglof']);

echo 
"Accediendo a un elemento concreto: ".$arreglof[0][0]."<br>";

echo 
"Leyendo todo el array bidimiensional:<br>";

foreach (
$arreglof as $padre){
   foreach (
$padre as $hijo){
       echo 
$hijo."<br>";

   }

(usando las funciones propuestas en las FAQ's del link indicado).

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:32.