Foros del Web » Programando para Internet » PHP »

obtener valores de un stdClass Object

Estas en el tema de obtener valores de un stdClass Object en el foro de PHP en Foros del Web. como puedo obtener el valor de tipo y nombre dentro del foreach? Código PHP: echo  $parametros [ 0 ]. '<br/><br/>' ; //%5B%7B%22tipo%22%3A%22text%22%2C%22nombre%22%3A%22Escribe+el+nombre%22%7D%2C%7B%22tipo%22%3A%22text%22%2C%22nombre%22%3A%22Escribe+el+nombre2%22%7D%2C%7B%22tipo%22%3A%22submit%22%2C%22nombre%22%3A%22Enviar%22%7D%5D      echo   urldecode ...
  #1 (permalink)  
Antiguo 01/03/2014, 10:13
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
obtener valores de un stdClass Object

como puedo obtener el valor de tipo y nombre dentro del foreach?

Código PHP:
echo $parametros[0].'<br/><br/>';
//%5B%7B%22tipo%22%3A%22text%22%2C%22nombre%22%3A%22Escribe+el+nombre%22%7D%2C%7B%22tipo%22%3A%22text%22%2C%22nombre%22%3A%22Escribe+el+nombre2%22%7D%2C%7B%22tipo%22%3A%22submit%22%2C%22nombre%22%3A%22Enviar%22%7D%5D

    
echo  urldecode($parametros[0]).'<br/><br/>';
    
//[{"tipo":"text","nombre":"Escribe el nombre"},{"tipo":"text","nombre":"Escribe el nombre2"},{"tipo":"submit","nombre":"Enviar"}]
    
$elementos=json_decode(urldecode($parametros[0]));
    foreach(
$elementos as $elemento){
        
print_r($elemento);echo '<br/><br/>';
        
/*
            stdClass Object ( [tipo] => text [nombre] => Escribe el nombre ) 

            stdClass Object ( [tipo] => text [nombre] => Escribe el nombre2 ) 
            
            stdClass Object ( [tipo] => submit [nombre] => Enviar ) 
        */
    

  #2 (permalink)  
Antiguo 01/03/2014, 10:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: obtener valores de un stdClass Object

Como $elementos es un array de objetos, solamente tienes que iterar cada objeto en cada iteración del array.

Código PHP:
Ver original
  1. foreach($elementos as $elemento){
  2.     foreach ($elemento as $key => $value){
  3.         echo $key . ": " . $value . "<br />";
  4.     }
  5.     echo "<br /">;
  6. }

El resultado es el siguiente:

Código HTML:
Ver original
  1. tipo: text
  2. nombre: Escribe el nombre
  3.  
  4. tipo: text
  5. nombre: Escribe el nombre2
  6.  
  7. tipo: submit
  8. nombre: Enviar

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 01/03/2014, 10:31
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: obtener valores de un stdClass Object

sabiendo que esos datos son siempre iguales no puedo acceder a ellos directamente sin otro foreach?

algo asi al estilo de

$elemento->nombre

$elemento['nombre']
  #4 (permalink)  
Antiguo 01/03/2014, 10:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: obtener valores de un stdClass Object

¿Lo has intentado al menos?

Código PHP:
Ver original
  1. foreach($elementos as $elemento){
  2.     echo "Tipo: " . $elemento->tipo . "<br />";
  3.     echo "Nombre: " . $elemento->nombre . "<br /><br />";
  4. }

Esto imprime lo siguiente:

Código HTML:
Ver original
  1. Tipo: text
  2. Nombre: Escribe el nombre
  3.  
  4. Tipo: text
  5. Nombre: Escribe el nombre2
  6.  
  7. Tipo: submit
  8. Nombre: Enviar

Obviamente, esto solamente es útil para casos en los que los atributos del objeto son siempre los mismos, de lo contrario, la otra forma es la adecuada.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 01/03/2014, 10:44
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: obtener valores de un stdClass Object

oye que si que lo había intentado y de mil combinaciones y no conseguía comprender porque no salían ¬¬

resultaba si que lo estaba haciendo bien y si que salían pero se ocultaban por culpa del css

Etiquetas: object, stdclass
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 10:12.