2011-01-06 4 views
11

Va bene, im relearning php per un piccolo progetto a casa e correre in un problema così heres un rapido uno per tutti u esperti PHP:Access come stringa letterale in PHP

Ho costruire una classe astratta che dovrebbe accedere proprietà di YQL Yahoo ha restituito oggetti JSON decodificati in oggetti PHP. Diciamo che voglio per accedere alla proprietà id poi mi piace questo diritto:

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

Ma io voglio essere in grado di accedere alla proprietà in maniera più astratta, vale a dire qualcosa di simile:

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

Ma nessuno dei precedenti sta funzionando - sono sicuro per ovvi motivi, ma io non sono un esperto di PHP. Sto attraversando un periodo difficile a farmi venire questa telefonata. Per favore aiutami qui.

risposta

24
$propertyName = 'id'; 

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

Grazie, funziona come un fascino – Muleskinner

+1

Proprio come un sidenote - non c'è un errore nell'esempio 2 in questa documentazione php: http://php.net/manual/en/sdo.sample.getset.php? – Muleskinner

1

È necessario utilizzare ArrayObject per accedervi come un array.

+0

Ah, ho frainteso quello che stavi chiedendo. Lascerò questo qui come punto di interesse, però. – Wiseguy