问题描述
我正在尝试使用包含关联数组的以下数组的 foreach 循环生成 HTML5 详细信息/摘要树。我是使用数组的新手,我不确定如何访问数组的正确部分以显示行业或工作。请参阅下面的代码和注释。
我也不确定我是否需要两个 foreach 循环,或者一个是否可以完成这项工作。我也可以将所有元素关联起来(因为这会使它们更容易调用),但我仍在通过反复试验学习如何做到这一点。
我还不想渲染“任务”、“知识”、“技能”等。这将在另一个页面上完成。
非常感谢所有帮助。
$indus['agriculture'] = [
"Picking and Packing" => [
"Tasks" => [
"Entry1","Entry2","Entry3","Entry4","Entry5",],"Tools_used" => [
"Entry1","KNowledge" => [
"Entry1","Skills" => [
"Entry1","Abilities" => [
"Entry1","data-code" => [
"53-7064.00"
]
],"Farm Worker" => [
"Tasks" => [
"Entry1","Agricultural Equipment Operator" => [
"Tasks" => [
"Entry1","data-code" => [
"53-7064.00"
]
],];
$indus['construction'] = [
"Picking and Packing" => [
"Tasks" => [
"Entry1","data-code" => [
"53-7064.00"
]
];
$array_keys = array_keys($indus);
foreach($array_keys as $key)
{
echo '<details class="details">';
echo '<summary>';
echo "{$indus[$key]}"; //this should be the industry
echo '</summary>';
echo '<summary>';
echo "{$indus[$key]}"; //this should be the job
echo '</summary> ';
echo '</details>';
}
解决方法
您需要嵌入 foreach
才能完成此任务。请注意,foreach()
也可以使用键。
示例:(demo)
// loop around `$indus`:
foreach ($indus as $indusName => $indusData)
{
echo $indusName . "\n";
// loop around `$indus` jobs:
foreach ($indusData as $jobName => $jobData)
{
echo '* ' . $jobName . "\n";
}
}
将输出:
agriculture
* Picking and Packing
* Farm Worker
* Agricultural Equipment Operator
construction
* Picking and Packing
* Farm Worker
* Agricultural Equipment Operator
* data-code
当然,您可以根据需要添加 HTML 标记(<details>
和 <summary>
)。