我正在尝试从JSON解码的API链接创建选项列表。 到目前为止,我可以访问已排序的API,所有需要存储的数据都存储在单个变量中,并且可以使用
从变量中提取数据 print_r($result[0]["ORGANISATION_NAME"]);
print_r($result[1]["ORGANISATION_NAME"]);
这将从数组中为我提供两个不同的组织名称。
我想做的是将其放在按字母顺序排列的下拉菜单中,但是由于某种原因,我无法为自己的一生而努力。我们需要做的就是将0、1、2、3等增加到存储在数据库中的记录数。
我不知道该怎么做!
答案 0 :(得分:0)
按照要求回答您的问题:
foreach ($results as $result) {
for ($i = 0; $i < count($result); $i++) {
print_r($result[$i]["ORGANISATION_NAME"]);
}
}
但是,为什么不只是另一个foreach
?
编辑:
根据新信息进行更新:
假设$result
是您的数据库结果,这是您的新代码:
foreach ($result as $row) {
print_r($row['ORGANISATION_NAME']);
}
答案 1 :(得分:0)
我认为一些明智的数据准备步骤将帮助您简化此任务。
然后,您可以使用简单的foreach循环来生成html选择字段。
代码(Demo)
$result = [
["ORGANISATION_NAME" => "B Name"],
["ORGANISATION_NAME" => "D Name"],
["ORGANISATION_NAME" => "C Name"],
["ORGANISATION_NAME" => "A Name"]
];
echo "Proof of correct structure: {$result[1]["ORGANISATION_NAME"]}\n";
$org_names = array_column($result, "ORGANISATION_NAME");
sort($org_names);
var_export($org_names); // display alphabetized array
echo "\n---\n";
echo "<select name=\"orgs\">";
foreach ($org_names as $org) {
echo "<option>$org</option>";
}
echo "</select>";
输出:
Proof of correct structure: D Name
array (
0 => 'A Name',
1 => 'B Name',
2 => 'C Name',
3 => 'D Name',
)
---
<select name="orgs">
<option>A Name</option>
<option>B Name</option>
<option>C Name</option>
<option>D Name</option>
</select>