微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从包含关联数组的 PHP 数组生成详细信息/摘要树

如何解决从包含关联数组的 PHP 数组生成详细信息/摘要树

details-summary

我正在尝试使用包含关联数组的以下数组的 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>)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。