2011-02-12 32 views
60

¿Cómo puedo recorrer todas las propiedades del objeto ?. En este momento tengo que escribir una nueva línea de código para imprimir cada propiedad del objetoLooping a través de todas las propiedades del objeto php

echo $obj->name; 
echo $obj->age; 

¿Puedo bucle a través de todas las propiedades de un objeto mediante bucle foreach o cualquier bucle?

Algo como esto

foreach ($obj as $property => $value) 
+1

Volver la cabeza con 'bucle foreach' que está haciendo uso de un –

+4

' foreach' (con '=>' 'no ->') para recorrer las propiedades ** public ** del objeto. También puede hacer que su clase [Traversable] (http://php.net/Traversable) si desea otro comportamiento. – netcoder

+0

@netcoder: gracias, pero ese fue un error tipográfico solo – Daric

Respuesta

92

si esto es sólo para la depuración de salida, se puede utilizar el siguiente para ver todos los tipos y valores, así.

var_dump($obj); 

Si desea más control sobre la salida se puede utilizar este:

foreach ($obj as $key => $value) { 
    echo "$key => $value\n"; 
} 
+4

"El objeto de la clase stdClass no podría convertirse en cadena" podría ser un error resultante si el objeto no es una matriz. – landed

+0

print_r ($ obj); también puede ayudar. Imprime campos de objetos dados recursivamente. – fandasson

0

Aquí es otra manera de expresar la propiedad del objeto.

foreach ($obj as $key=>$value) { 
    echo "$key => $obj[$key]\n"; 
} 
3

Para propósitos de prueba utilizo el siguiente:

//return assoc array when called from outside the class it will only contain public properties and values 
var_dump(get_object_vars($obj)); 
Cuestiones relacionadas