2011-01-06 10 views
11

bien, im volver a aprender php para un proyecto de casa pequeña y con un problema así que aquí una rápida para todos los u expertos en php:Access como literal de cadena en PHP

Tengo construir una clase abstracta que debe acceder propiedades de YQL Yahoo devolvió objetos JSON decodificados a objetos PHP. Digamos que quiero acceder a la propiedad id entonces me gusta este derecho:

print($phpObject->id); // Okay 

Pero yo quiero ser capaz de acceder a la propiedad de una manera más abstracta, es decir algo como esto:

$propertyName = 'id'; 
print($phpObject[$propertyName]); 
print($phpObject["id"]);  

Pero ninguno de los anteriores está funcionando. Estoy seguro de que por razones obvias, pero no soy experto en PHP. Me está resultando difícil descifrar esta llamada. Por favor, ayúdame aquí.

Respuesta

24
$propertyName = 'id'; 

print($phpObject->{$propertyName}); 
+0

Gracias, funciona como un encanto – Muleskinner

+1

Al igual que una nota al margen - ¿no hay un error en el ejemplo 2 en esta documentación php: http://php.net/manual/en/sdo.sample.getset.php? – Muleskinner

1

Tiene que usar ArrayObject para acceder como una matriz.

+0

Ah, he entendido mal lo que estabas preguntando. Pero lo dejaré aquí como un punto de interés. – Wiseguy

Cuestiones relacionadas