Php 简化JSON以构建数组。

Php 简化JSON以构建数组。,php,arrays,json,Php,Arrays,Json,我试图获取我的JSON输入并生成一个易于搜索的数组,但据我所知,这给我带来了一些麻烦 首先,这是我的JSON原样,从一个文件加载: { "teams": [ { "id": "1", "boat": "Test", "name": "Palle Test" }, { "id": "2", "boat": "Test 2", "name": "Nam

我试图获取我的JSON输入并生成一个易于搜索的数组,但据我所知,这给我带来了一些麻烦

首先,这是我的JSON原样,从一个文件加载:

{
   "teams": [
      {
         "id": "1",
         "boat": "Test",
         "name": "Palle Test"
      },
      {
         "id": "2",
         "boat": "Test 2",
         "name": "Name Test 2"
      },
      {
         "id": "3",
         "boat": "Test 3",
         "name": "Name Test 3"
      },
      {
         "id": "4",
         "boat": "Test 4",
         "name": "mller"
      }
   ]
}
有没有一种方法可以简化此过程或将阵列的数量降至最低

我一直在使用下面的代码预览我的数组,但我试图让它搜索id,然后打印id、boat和name的值

  $json_url = "teams.json";
  $json = file_get_contents($json_url);
  $data = json_decode($json, TRUE);

        echo '<pre>';
        print_r($data);
        echo  '</pre>';
$json\u url=“teams.json”;
$json=file\u get\u contents($json\u url);
$data=json_decode($json,TRUE);
回声';
$json = '{
   "teams": [
      {
         "id": "1",
         "boat": "Test",
         "name": "Palle Test"
      },
      {
         "id": "2",
         "boat": "Test 2",
         "name": "Name Test 2"
      },
      {
         "id": "3",
         "boat": "Test 3",
         "name": "Name Test 3"
      },
      {
         "id": "4",
         "boat": "Test 4",
         "name": "mller"
      }
   ]
}';

$data = json_decode($json);

//print_r($data);

foreach ($data->teams as $object) {
    if ( $object->id == 2) {
        echo 'boat is ' . $object->boat . ' and name is ' . $object->name . PHP_EOL;
    }
}
打印(数据); 回声';
这真的很简单。没有必要将一个完美的对象转换成数组,它只会使生活变得更加复杂

数据结构中唯一的数组是
teams
数组,它很容易像这样处理

boat is Test 2 and name is Name Test 2
上面例子的结果是


您只有一个数组。这有什么不对?为了什么最小化阵列的数量?为什么…???嘿@RiggsFolly。谢谢,这正是我需要的。