2016-05-31 16 views
0

Also bin ich ein wenig verwirrt und frage mich, ob jemand mir helfen könnte. Ich bin in der Notwendigkeit, die Outs dieser Datei Inhalte nach URL zu grep, die zurückgegeben wird. Was bekomme ich zurück ist:PHP Grep Datei Inhalt von URL

{"level":30,"pic":"http:\/\/ddragon.leagueoflegends.com\/cdn\/5.23.1\/img\/profileicon\/716.png","wins":5,"games":{"1":{"champ":412,"outcome":false,"kills":3,"deaths":13,"assists":15},"2":{"champ":53,"outcome":false,"kills":1,"deaths":11,"assists":5},"3":{"champ":91,"outcome":false,"kills":4,"deaths":10,"assists":2},"4":{"champ":67,"outcome":false,"kills":2,"deaths":6,"assists":4}}} 

Was ich will ist grep zunächst der Wert unter Niveau in diesem Fall „30“, dann profileicon716.png (ohne den seltsamen /), dann des Champion Wert ohne die ‚:‘ für das erste Spiel, Gewinne des ersten Spiels, das Ergebnis (wahr oder falsch ohne :), tötet, tötet und hilft (nur der Wert) jedes Spiels (es gibt insgesamt 4). Ich muss jeden Wert nehmen und es einer Schnur zuweisen, die von jedem Spiel abhängt, d. H. $ Killsgames1 = 3

Wie Sie sagen können, ist es ziemlich schwierig daher, warum ich hierher komme, um Hilfe zu bekommen. Gewöhnlich mag ich es, diese Dinge selbst zu lösen, anstatt mich mit dem Löffel zu versorgen, aber das ist einfach zu verrückt für mich.

+1

Es ist eigentlich viel einfacher als Sie denken, verwenden Sie [json_decode] (http://php.net /manual/en/function.json-decode.php) und du bist ziemlich gut zu gehen :) – JimL

Antwort

1

Keine Notwendigkeit, grep oder zu analysieren, ist es JSON:

$array = json_decode($string, true); 

echo $array['level']; 
echo basename($array['pic']); 

foreach($array['games'] as $game) { 
    echo $game['champ']; 
    //etc... 
} 

eine print_r($array); Sie die Struktur zu sehen.

Auch, keine Notwendigkeit zu anderen Variablen zuweisen, sie sind bereits in ein nutzbares Format wie:

$array['games'][0]['kills'] 
$array['games'][1]['kills'] 
$array['games'][2]['kills'] 
//etc... 
+0

Sehr schön vielen Dank! Wie wäre es mit der Suche nach einem Wert in einem Array und der Rückgabe eines anderen, dh nach 3 Kills suchen und das Ergebnis zurückgeben (in diesem Fall wäre es falsch, da das Spiel verloren wurde) – user3258734

+0

Posten Sie das als eine andere Frage, und beschreibender als ich Ich weiß nicht, was du meinst. – AbraCadaver