Foros del Web » Programando para Internet » PHP »

como recorrer un array tipo stdClass Object por indicies??

Estas en el tema de como recorrer un array tipo stdClass Object por indicies?? en el foro de PHP en Foros del Web. Hola, comunidad estoy haciendo una aplicacion y llegue al punto de que necesito retornar balores de una consulta sql de manera un tanto dinamica. lo ...
  #1 (permalink)  
Antiguo 13/12/2010, 12:14
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 4 meses
Puntos: 4
como recorrer un array tipo stdClass Object por indicies??

Hola, comunidad estoy haciendo una aplicacion y llegue al punto de que necesito retornar balores de una consulta sql de manera un tanto dinamica.

lo primero que hago es ingresar una frase de consulta, luego esta pasa al modelo y me devuelve algo como esto:
Código:
Array
(
    [0] => stdClass Object
        (
            [idCliente] => 1
            [idTipoCliente] => 1
            [idNacionalidad] => 2
            [Convenio] => 0
            [Nombre] => Luis Migule
            [Apellido] => Torres Terron
            [Identidad] => 00885566
            [Direccion] => Jr Loquesea 256
            [Email] => 
            [Telefono] => 556655
            [Celular] => 
            [Fax] => 
            [Responsable] => 
            [fotoUrl] => 
        )

    [1] => stdClass Object
        (
            [idCliente] => 2
            [idTipoCliente] => 2
            [idNacionalidad] => 1
            [Convenio] => 0
            [Nombre] => San Roman
            [Apellido] => loren
            [Identidad] => 00556677
            [Direccion] => Artu 256
            [Email] => 
            [Telefono] => 223355
            [Celular] => 
            [Fax] => 
            [Responsable] => 
            [fotoUrl] => 
        )
en este caso el resulado es de hacer la consulta en la tabla clientes, pero si yo hago la consulta en otras tablas los key tip [idCliente] cambian.
Mi problema recide en que tengo que retornar estos valores no tanto por los key sino por su indice numerico que no se si existe, algo asi como se recorre un array simple $var[0] asi sin importar como se llame la key podre devolver de acuerdo a su indice.
  #2 (permalink)  
Antiguo 13/12/2010, 12:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como recorrer un array tipo stdClass Object por indicies??

¿y donde esta exactamente el problema?

supongo que el índice numérico que dices es idCliente, así que la única forma que tienes es iterar el arreglo y comparar dicha propiedad, y ahí la devuelves...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/12/2010, 12:43
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: como recorrer un array tipo stdClass Object por indicies??

bueno, yo recorro todo este arreglo asi siendo $var el arreglo:
Código:
foreach( $var  as $r){
   echo $r->idCliente.' '. $->Nombre ....
}
y bueno quisiera saber si se puede hacer algo como esto:
Código:
for($i=0;$i<count($var);$i++){
  echo $var[$i]//esto no funciona pero no se me ocurre como recorrerlo.
}
  #4 (permalink)  
Antiguo 13/12/2010, 12:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como recorrer un array tipo stdClass Object por indicies??


Código PHP:
echo $r->algo;
echo 
$var[$i]->algo
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/12/2010, 13:08
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: como recorrer un array tipo stdClass Object por indicies??

gracias por responder, seguro aun no me entiendo o no me doy a explicar. Perdoneme.
aplique lo que me mostro:
Código:
for($i=0;$i<count($var);$i++){
                            echo $var[$i]->Nombre."<br>";
                         }
y genera algo como esto:
Código:
Luis Migule
San Roman
Roberto Calderon
Jeremias
Jossy
Luis
Ruis
Luis
Guillermo
Manuel
Franklin
Charles
y es mas de lo mismo, osea lo que quisiera recorrer numericamente o de alguna manera no tan ligana al nombre del key por ejemplo en $var[$i]->Nombre, tendria que poner siempre Nombre para que funciones, y Nombre en otro tipo de consultas no existiria.
Entonces intente $var[$i]->[$e] //pero esto no funciona
  #6 (permalink)  
Antiguo 13/12/2010, 13:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como recorrer un array tipo stdClass Object por indicies??

a ver, lo que sucede es que quieres usar un array asociativo, u objeto como un arreglo indexado?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 13/12/2010, 16:44
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: como recorrer un array tipo stdClass Object por indicies??

disculpa que no sepa tanto las definiciones, pero supongo que debe ser lo segundo. un objeto como un arreglo indexado.
  #8 (permalink)  
Antiguo 13/12/2010, 17:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como recorrer un array tipo stdClass Object por indicies??

Cita:
Iniciado por Copia Ver Mensaje
disculpa que no sepa tanto las definiciones, pero supongo que debe ser lo segundo. un objeto como un arreglo indexado.
entonces no es posible, precisamente un objeto es casi igual a un arreglo asociativo, pues no hay índices numéricos definidos...

y la cuestión es que para acceder a sus propiedades debes saber el nombre de las mismas... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 13/12/2010, 18:47
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: como recorrer un array tipo stdClass Object por indicies??

o vaya, muchas gracias seguro esas cosas se me ocurre a mi mismo.
  #10 (permalink)  
Antiguo 30/03/2011, 15:18
 
Fecha de Ingreso: febrero-2009
Mensajes: 3
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: como recorrer un array tipo stdClass Object por indicies??

Tengo un hack a ver si te sirve.

Código PHP:
$nuevo_arreglo = array();
$arreglo get_object_vars$objeto );
foreach( 
$arreglo as $indice=>$valor )
{

   
$nuevo_arreglo[] = $valor;


El problema de esto es que si por alguna razón cambian los campos en la Base de datos o los cambian de órden, vas a estar en problemas.

Saludos.

Etiquetas: object, recorrer, stdclass, tipo
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 04:15.