PHP在解码多级JSON数组时遇到问题

PHP在解码多级JSON数组时遇到问题,php,json,Php,Json,我正在制作一个用于PHP个人使用的作弊检测小软件,代码扫描目录中的所有文件,整理出所有.JSON文件,然后解析并返回一些值。我有一个函数可以告诉我JSON文件中的版本号: function scan_Versions($dir) { $array = array(); $rdi = new RecursiveDirectoryIterator($dir); foreach (new RecursiveIteratorIterator($rdi) as $filename =>

我正在制作一个用于PHP个人使用的作弊检测小软件,代码扫描目录中的所有文件,整理出所有
.JSON
文件,然后解析并返回一些值。我有一个函数可以告诉我
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;
}
执行时,它将扫描文件,并从
JSON
文件中获取数据,如下所示:(它获取
JSON
文件的第一个
id
部分)

我需要一个类似于上面的函数来从以下位置检索数据:

"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
        }
      }
    }.......
“库”:[
{

“名称”:“oshi项目:oshi核心:1.1”,我没有足够的代表添加评论(此处新增),但您可能希望

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


根据pastebin链接。

但您需要所有“名称”对于所有的json文件?我认为这非常简单,您已经在
$json
变量中拥有了所需的所有内容,只需对其进行处理即可。@Johnny是的,我很难获取值,因为它类似于另一个数组,当我尝试
$json[“libraries”][“name”][0]时,PHP会给我错误
你需要弄清楚你在追求什么。pastebin中的json创建了一个数组,其“location”键是一个数字索引数组,其中包含33项。你在追求哪一项?真的不知道你需要提取什么。
$json["libraries"]["name"][0]