Foros del Web » Programando para Internet » PHP »

PHP OO Recorrer array dentro de una clase

Estas en el tema de Recorrer array dentro de una clase en el foro de PHP en Foros del Web. Hola a tod@s, soy nueva en el mundillo de php y estoy volviendome loca con un ejercicio que tengo que hacer. Espero me podais iluminar! ...
  #1 (permalink)  
Antiguo 03/12/2012, 09:13
 
Fecha de Ingreso: octubre-2010
Mensajes: 88
Antigüedad: 13 años, 6 meses
Puntos: 1
Recorrer array dentro de una clase

Hola a tod@s, soy nueva en el mundillo de php y estoy volviendome loca con un ejercicio que tengo que hacer. Espero me podais iluminar!

Tengo dos ficheros, uno de ellos llamado ListadoCompleto.php contiene mi clase definida llamada (Listado_Completo), en ella tengo una variable protegida de tipo array y una función publica que recupera dicho array.
Lo he hecho de la siguiente forma, tampoco se si es la forma más correcta:

Código PHP:
<?
        
class Listado_Completo
        
{
            protected 
$datosArray =array(0=> array( "El medico""Noah Gordon",   "Time Warner"),
                
1=>array("Marina""Carlos Ruiz Zafon""Edebe"),
                
2=> array("La hoguera de la vanidades""Tom Wolfe""RBA editores"),
                
3=> array("El libro de las ilusiones""Paul Auster""Faber"),
                
4=> array("La muerte en Venecia""Michael Mann""Anaya"), 
                
5=> array("A sangre fría""Truman Capote","Illusions"),
                
6=> array("2001: Odisea en el espacio","Arthur C. Clarke""P&J"));  
         
                     
           public function 
Get_Listado_Completo(){                
               return 
$this->datosArray;
           }                     
                  
           
            }
?>
La llamada a esta clase la hago desde el otro fichero, llamado Principal.php.
El problema lo tengo en la función PintaCompleto. La clase la he instanciado pero ahora no se como manipular la variable $Gestiona.


Código PHP:

 
if ($_REQUEST['operacion']=="Lis"){
            
PintaCompleto();   
         }


 function 
PintaCompleto(){
     
     require (
"ListadoCompleto.php");
     
$Gestiona = new Listado_Completo();
     
$Gestiona->Get_Listado_Completo(); 
     
     for(
$i0$i<Count($Gestiona); $i++){     
       
        
printf ("<td align=left><font color= white>%s</td>",$Gestiona[$i][0]);
        
printf ("<td align=left><font color= white>%s</td>",$Gestiona[$i][1]);
        
printf ("<td align=left><font color= white>%s</td>",$Gestiona[$i][2]);
        echo 
"</tr>";
     }
 } 
Gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 03/12/2012, 09:28
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: Recorrer array dentro de una clase

Lo que te faltaria es recibir el valor de tu función, en una variable

Código PHP:
$Gestiona = new Listado_Completo();
$datos =   $Gestiona->Get_Listado_Completo();  

//die(var_dump($datos)) descomenta esta linea para revisar que tenga valores.
for($i0$i<Count($datos); $i++){ 
Avisanos como te fue.

Saludos.
  #3 (permalink)  
Antiguo 03/12/2012, 11:05
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Recorrer array dentro de una clase

adicionalmente el array puedes hacerlo asociativo:
Código PHP:
 ...
 protected 
$datosArray = array(
    array(
      
'titulo' => 'El médico',
      
'autor' => 'Noah Gordon' ,
      
'editorial' => 'Time Warner'
    
),
   array(
      
'titulo' => 'Marina',
      
'autor' => 'Carlos Ruiz Zafon' ,
      
'editorial' => 'Edebe'
   
)
...
); 
y después lo recorres con un foreach:
Código PHP:
  ...
  
$datos =   $Gestiona->Get_Listado_Completo();
  foreach(
$datos as $item){
   
printf ("%s %s %s",$item['titulo'],$item['autor'],$item['editorial'];
 } 
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #4 (permalink)  
Antiguo 03/12/2012, 12:15
 
Fecha de Ingreso: octubre-2010
Mensajes: 88
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Recorrer array dentro de una clase

Muchaaaaas gracias a los dos!!!!!!!!!!!!!!!!

Ya me funciona!!!

Etiquetas: clase, variables
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 13:04.