【发布时间】:2018-03-24 23:05:10
【问题描述】:
我正在使用 PHP 编写一个页面。
我可以通过 JSON(外部,我无法修改)获取类别列表。每个类别都有一个 ID 和一个名称。我正在使用 foreach 检索列表:
$jsonCategoriesDecode = json_decode($jsonCategories, true);
foreach ($categories as $category){
$category['id'] = $category['name'];
}
在我的代码的另一个区域,我有一个 for loop 来通过 JSON(也是外部的)获取另一种类型的信息。
但在这里我只能访问 Category ID(不能访问 Category Name)。
$jsonLatest = json_decode($latest, true);
for ($i = 1; $i < 6; $i++) {
$topic_category[$i] = $jsonLatest['topic_list']['topics'][$i]['category_id'];
echo $topic_category[$i];
}
我想要在 for 循环中显示 类别名称(而不是 类别 ID)。
我尝试了以下方法:
$jsonLatest = json_decode($latest, true);
for ($i = 1; $i < 6; $i++) {
$topic_category[$i] = $jsonLatest['topic_list']['topics'][$i]['category_id'];
// Translate the category ID to Name
foreach ($jsonCategoriesDecode['category_list']['categories'] as $category){
$category['id'] = $category['name'];
$topic_category[$i] = $category['id'];
echo $category['name'];
}
}
但输出是所有类别的名称列表。
我只想要$topic_category[$i]的名字
我使用switch 声明,但我没有任何运气。我无法对所有类别 ID 及其对应的 类别名称 进行硬编码,因为我将来会创建更多,因此需要自动化。这就是我尝试使用foreach loop 的原因。
如何将类别 ID 转换为 类别名称?
编辑: 主要问题是我无法在 $jsonLatest 上获取类别名称,只有 ID。
我无法更改 JSON 内容,因为它们是外部的。这就是为什么我认为也许使用其他 JSON(我可以同时获取 ID 和名称)将有助于将该 ID 转换为 $jsonLatest 上的名称。
foreach 循环只是为了这个,它不会对我的代码做任何其他事情。我什至可以删除它
编辑 2:添加源链接
Json 文件: https://forum.illustration.tools/latest.json https://forum.illustration.tools/categories.json
PHP 文件: pastebin.com/bmX8TAaj
【问题讨论】:
标签: php json for-loop foreach switch-statement