2011-10-31 12 views
18

Uso de PHP, tengo que analizar una cadena de venir a mi código en un formato como este:¿Cómo obtengo el valor de object (stdClass)?

object(stdClass)(4) { ["Title"]=> string(5) "Fruit" ["Color"]=> string(6) "yellow" ["Name"]=> string(6) "banana" ["id"]=> int(3) } 

Estoy seguro de que hay una solución simple, pero me parece que no puede encontrarlo ... ¿cómo para obtener el color y el nombre?

Muchas gracias.

+1

¿Ha intentado $ obj-> Título $ obj-> Color –

+0

Sería un poco más perspicaz si publica el fragmento de código que está utilizando para generar t salida del sombrero. – 0xd

+0

Espera, ¿qué? Tienes que "* analizar *" una cadena? ¿O es esto una variable de objeto real? – mario

Respuesta

39

Usted puede hacer: $obj->Title etcétera.

O puede convertirlo en una matriz:

$array = get_object_vars($obj); 
+0

Gracias! $ obj-> Título lo hace por mí. – dwarbi

+0

@dwarbi no hay problema^_^ – Neal

+0

Agradable ... trabajando para mí también – deemi

10

Se crea objetos StdClass y métodos de acceso de ellos de esta manera:

$obj = new StdClass; 

$obj->foo = "bar"; 
echo $obj->foo; 

Recomiendo la subclasificación StdClass o la creación de su propia clase genérica por lo puedes proporcionar tus propios métodos.

Convertir un objeto StdClass en una matriz:

Para ello, puede utilizar el siguiente código:

$array = get_object_vars($obj); 

Tome un vistazo a: http://php.net/manual/en/language.oop5.magic.php http://krisjordan.com/dynamic-properties-in-php-with-stdclass

+0

¡Gracias por su ayuda! Solo necesito $ obj-> Título, pero es bueno saber la otra información para el futuro. – dwarbi

Cuestiones relacionadas