2016-07-19 4 views
-2

Ich arbeite gerade mit Laravel 5 und habe folgendes Problem. Ich habe Antwort von DB Abfrage bekam:Wie int-Wert aus JSON-Objekt herausnehmen?

[{"id":1}]

und ich möchte 1 als int oder String herauszunehmen. Irgendwelche Ideen?

Ich habe versucht, diesen wie folgt zu lösen:

$json = (DB query);  
$data = json_decode($json);  
$final = $data[0]->id; 

und Antwort ist:

json_decode() erwartet Parameter 1 Zeichenfolge, Array gegeben

+3

haben Sie versucht, es mit 'json_decode' zu ​​dekodieren? –

+1

Haben Sie schon einmal etwas ausprobiert? (Google-Suche zum Beispiel xD) – FirstOne

+0

Ja, ich habe ein wenig gegoogelt, aber ich verstehe kein Beispiel, deshalb frage ich hier – xsalok

Antwort

0

Versuch zu sein diese

$json_array = '[{"id":1}]'; 
$data = json_decode($json_array); 
print_r($data); // To display the result array 
1

Wie Sie sagen, ist die Zeichenfolge, die Sie haben, im JSON-Format, so dass Sie json_decode verwenden müssen, um in PHP darauf zuzugreifen.

Die eckigen Klammern verweisen auf ein Array und die geschweiften Klammern beziehen sich auf ein Objekt innerhalb dieses Arrays. Sie suchen also nach dem Wert id des ersten Elements (d. H. Element 0) im Array.

<?php 
$json = '[{"id":1}]'; 
$data = json_decode($json); 

echo $data[0]->id; 
// 1 
1

Das ist alles was Sie brauchen.

+0

Äußeres Array wurde verpasst –

+2

Hoppla, deshalb haben wir 'json_decode' nicht in unseren Köpfen bearbeitet. –

0

Sie müssen es nur entschlüsseln, wenn ich Ihre Fragen nicht falsch verstehe.

$json = '[{"id":1}]'; 
$decodedObject = json_decode($json); 

Dann können Sie Schleife durch die aray und etwas tun, mit Ihren Daten:

foreach($decodedObject as $key => $value) { 
    $id = $value->id; 
} 

Wenn Sie mit Laravel, obwohl, warum nicht Eloquent Modelle verwenden?

+0

Ich bin frisch mit Laravel, können Sie mir sagen, wie man Eloquent-Modell verwendet, um dies zu tun? – xsalok

+0

Ich hatte gehofft du würdest fragen! Was ist deine Frage? Zeig mir deine Anfrage, und ich zeige dir, wie man es mit einem Eloquent-Modell macht. –