这是我的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;
};