2017-01-05 6 views
0

i erhalten Objekt von json wie diesesphp Objektnamen aus var

{"valid":"yes","date":"2017-01-04","data-val":{"current":25}} 

ich will i einen var erstellen aktuellen Wert erhalten sind: Name aktuellen

$johndoe = 'current'; 

aber ich kann nicht es nennen wie dies:

$currentjohn = $data['data-val'][$johndoe]; 

scheitern

$currentjohn = $data['data-val']['.$johndoe.']; 

scheitern auch

$currentjohn = $data['data-val']->$johndoe; 

scheitern zu

, wie es geht richtig oder wie ‚Strom‘ bekommen, wenn ich nicht wusste, dass Schlüsselnamen Strom

Danke für Ihre Hilfe

+2

hast du dekodieren ** json_decode ($ json) ** ?? –

+0

@krunal: jawohl ich entziehe es – imunisasi

Antwort

1

Als ein Objekt ist die Syntax:

$data->{'data-val'}->$johndoe; 

(die geschweiften Klammern müssen wegen des Bindestrichs im Namen verwendet werden. Dies ist ein Objekt, kein Array)

Demo:. https://eval.in/709782

als Array:

$data['data-val'][$johndoe]; 

Demo: https://eval.in/709784

Eine Variable in Hochkommata wird eine Variable nicht und Sie können nicht in Anführungszeichen verketten. Also:

$currentjohn = $data['data-val']['.$johndoe.']; 

hatte ein paar Probleme.

+0

danke für dein Beispiel, jetzt verstehe ich es – imunisasi