PHP 搜索 JSON 文件并获取结果


PHP Search JSON File and get result

这是我的JSON文件,其中包含我的项目。我想搜索项目名称并返回 ID。

法典:

 $jsonitem = file_get_contents("data.json");
 $objitems = json_decode($jsonitem);

 $findById = function($id) use ($objname) {
  foreach (json_decode($objname) as $friend) {
    if ($friend->id === $id) return $friend->name;
  }
  return;
};
echo $findById('6') ?: 'No record found.';

JSON 文件:

[
       {
          "id":1,
          "name":"Candy Wrapper",
          "value":500,
       },
       {
          "id":2,
          "name":"Torch",
          "value":2000,
       }
    ]

你的逻辑是正确的,但你的代码中有几个错误:

  • 您引用的是未设置$objname
  • 您正在解码数据两次
  • 正如@Mikey指出的那样,您的 JSON 无效,因为"values"行上有尾随逗号。

尝试:

$findById = function($id) use ($objitems) {
    foreach ($objitems as $friend) {
        if ($friend->id == $id) return $friend->name;
     }
    return false;
};