2016-05-31 9 views
0

私は少し困惑し、誰かが私を助けてくれるのだろうかと思っています。私は、このファイルの内容のうち、返されたURLを使ってgrepする必要があります。私が返されますことは次のとおりです。URLからのPHP grepファイルの内容

{"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}}} 

は何私はgrep検索したいことは、その後のない、その後チャンピオン値(奇妙な/なし)profileicon716.png、まず「30」、この場合のレベルの下の値です「:」第1ゲームの勝利、最初の試合の勝利、結果なし(真であるか間違っているか:)、各試合の殺し、死、アシスト(合計4つ)。私は各値を取ってそれを各ゲームに依存する文字列に割り当てる必要があります。つまり、$ killsgames1 = 3

あなたはそれがかなり難しいと言えるでしょう。私は通常、スプーンを供給するのではなく、これらの問題を自分で解決したいと思っていますが、これは私にとって大変なことです。

+1

それは実際にあなたが考えるよりはるかに簡単だ、[json_decode](http://php.netを使用/manual/en/function.json-decode.php)あなたはかなり良いと思っています:) – JimL

答えて

1

grepしたり解析する必要はありませんが、それはJSONです:

$array = json_decode($string, true); 

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

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

は、構造を見るためにprint_r($array);を行います。

はまた、他の変数に代入する必要、彼らのような使用可能な形式に既にあるん:

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

とても素敵なおかげさまです!配列内の値を検索して別の値を返すのはどうでしょうか?つまり、3つのキルを検索して結果を返します(この場合、ゲームが失われるとfalseになります)。 – user3258734

+0

これを別の質問として投稿し、あなたが何を意味するのか分からない。 – AbraCadaver

関連する問題