2017-01-07 14 views
0

PHPで個人用の小さなソフトウェアを検出しようとしています。このコードはディレクトリ内のすべてのファイルをスキャンし、.JSONファイルをすべてソートして解析し、いくつかの値を返します。 (これは最初のidを取得しhttp://pastebin.com/3VdEZW43:それはファイルをスキャンし、このようJSONファイルからデータを取得します実行するとPHPマルチレベルJSON配列のデコードに問題があります

function scan_Versions($dir) { 
    $array = array(); 
    $rdi = new RecursiveDirectoryIterator($dir); 
    foreach (new RecursiveIteratorIterator($rdi) as $filename => $file) { 
    if(!is_dir($filename)) { 
     $path_parts = pathinfo($filename); 
     $ext = $path_parts["extension"]. PHP_EOL; 
     if (strpos($ext, "json") !== false) { 
     $str = file_get_contents($filename); 
     $json = json_decode(utf8_decode($str), true); 
     array_push($array,$json['id']); 
     } 
    } 
    } 
    return $array; 
} 

:私は1つの機能がJSONファイルからバージョン番号が何であるかを教えに努めてい含ま"name":から

"libraries": [ 
    { 
     "name": "oshi-project:oshi-core:1.1", <----- I NEED THIS!!!!!!!!!! 
     "downloads": { 
     "artifact": { 
      "url": "https://libraries.[REMOVED].net/oshi-project/oshi-core/1.1/oshi-core-1.1.jar", 
      "sha1": "9ddf7b048a8d701be231c0f4f95fd986198fd2d8", 
      "size": 30973 
     } 
     } 
    }....... 

JSON

の一部は、私が上からデータを取得するために、1のような機能を必要とするoshi-project:oshi-core:1.1。誰かが私を助けることができますか?

+0

すべてのjsonファイルの "名前"はすべて欲しいですか?私はそれが本当に簡単だと思う、あなたはすでに '$ json'変数に必要なものすべてを持っています。それと何かをしてください。 – Johnny

+0

@Johnnyええ、別の配列のようなものなので、 '$ json [" libraries "] [" name "] [0]' – Volt

+0

あなたが何をしているのかを明確にする必要があります。ペーストビンのjsonは、 'location'キーが33個の項目を持つ数値的に配列された配列である配列を作成します。あなたはどれを後にしていますか?本当にあなたが抽出する必要があるか分からない。 –

答えて

0

私はコメントを(新しいここ)を追加するのに十分な担当者を持っていないが、あなたはペーストビンリンクに従って

$json["libraries"][0]["name"] 

ない

$json["libraries"]["name"][0] 

をしたいと思います。