Foros del Web » Programando para Internet » PHP »

Problema al agregar datos en Array

Estas en el tema de Problema al agregar datos en Array en el foro de PHP en Foros del Web. Hola Tengo la siguiente function que me devuelve el resultado de una seleccion de un array y el mismo lo deseo guardar en otro array ...
  #1 (permalink)  
Antiguo 31/07/2003, 12:51
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Problema al agregar datos en Array

Hola Tengo la siguiente function que me devuelve el resultado de una seleccion de un array y el mismo lo deseo guardar en otro array llamado $ResultArrayLeg, pero no se como utilizar el array_push.
Alguien me puede dar una mano, con el codigo.


Código PHP:
  function ver ($Leg_Arr_Grp_Fac$texto)
  {

for( 
$x 0$x <= sizeof($Leg_Arr_Grp_Fac); $x++) {  
   foreach (
$mimatriz as $clave => $valor){
       
$contenido =$valor;
       
$subcadena substr ($contenido,2);
       
$filaresul $x++;
           if( 
$subcadena != NO ){ 
    echo 
$valor
    echo 
'<br>';
                
                
$ResultArrayLeg= array();

                
array_push ($ResultArrayLeg$valor );
           }
        }
    }
 } 
Desde ya muchas gracias y saludos
  #2 (permalink)  
Antiguo 31/07/2003, 12:58
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Y por que no mejor usas algo mas simple, como esto:

$ResultArrayLeg[]= $valor;

Asi te va creciendo el array segun lo necesites.
__________________
Manoloweb
  #3 (permalink)  
Antiguo 31/07/2003, 14:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

El problema es que estas vaciando el array antes del array_push(). Y como esta dentro de un bucle, significa que estas vaciando el elemento que ingresastes en el ciclo anterior. Es $ResultArrayLeg= array(); el que vacia (realmente, crea un array vacio). Esa linea tendrias que ponerla fuera del bucle:
Código PHP:
function ver ($Leg_Arr_Grp_Fac$texto)

  {


 
$ResultArrayLeg= array();


for( 
$x 0$x <= sizeof($Leg_Arr_Grp_Fac); $x++) {  

   foreach (
$mimatriz as $clave => $valor){

       
$contenido =$valor;

       
$subcadena substr ($contenido,2);

       
$filaresul $x++;

           if( 
$subcadena != NO ){ 

    echo 
$valor

    echo 
'<br>';

                

               

                
array_push ($ResultArrayLeg$valor );

           }

        }

    }

 } 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 31/07/2003, 14:40
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Gracias a ambos por la respuesta pero me queda otra pregunta si yo guardo el array $ResultArrayLeg en la session
session_register("ResultArrayLeg");
como recupero la informacion del mismo en otra funcion
  #5 (permalink)  
Antiguo 31/07/2003, 14:56
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
me olvidaba si Recupero la informacion dentro de la funcion pero si quiero ver la informacion del array fuera de la funcion no la recupero. saludos
  #6 (permalink)  
Antiguo 31/07/2003, 16:16
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta 1.- Sobre la sesion

Hay dos formas, la directa es así...

$_SESSION["ResultArrayLeg"][0]
$_SESSION["ResultArrayLeg"][1]
etc...

La indirecta es que la pases a una variable local...

$var=$_SESSION["ResultArrayLeg"]

Y ahora $var contiene todos los elementos de ResultArrayLeg



Respuesta 2.- Sobre el scope de la variable

Para poder verla FUERA de la funcion, puedes hacer tambien varias cosas...

Hacer que la funcion te devuelva el resultado directamente:

Antes de cerrar la funcion, asignas el valor...

return $ResultArrayLeg;

Entonces, al llamar la funcion, lo haces a traves de una variable...

$var=ver($tal,$tal);

Con lo que $var se va a convertir en el array de resultados.
__________________
Manoloweb
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 12:38.