尝试遍历数组键并显示它

时间:2021-05-06 12:45:33

标签: php arrays

数组:

$forms = array (
    'title' => 'Form Title',
    'subtext' => 'Sub Text',
    'fields' => [
        [
            'name' => 'Question A',
            'type' => 'input',
            'placeholder' => 'Eg. Test',
            'value' => '',
            'required' => true,
            'size' => '6'
        ],
        [
            'name' => 'Question B',
            'type' => 'textarea',
            'placeholder' => 'Eg. Test',
            'value' => '',
            'required' => true,
            'size' => '6'
        ]
    ]
);

代码:

<?php
$forms_keys = array_keys($forms['fields']);
foreach ($forms_keys as $forms_key)
{
    ?>
    <div class="form-group col-md-12">
        <label for="question3"><?php echo $forms_key['name']; ?></label>
    </div>
    <?php
}
?>

我试图让字段 => 名称显示在标签内。我尝试了上面的但不能让它工作,当我回显 $forms_key 时,我得到“0”和“1”

3 个答案:

答案 0 :(得分:2)

来自PHP Manual

<块引用>

array_keys — 返回数组的所有键或键的子集

您有一组键,但没有关联数据,因为您已将其删除。从第一行中删除 array_keys

<?php
$forms_keys = $forms['fields'];
foreach ($forms_keys as $forms_key)
{
    ?>
    <div class="form-group col-md-12">
        <label for="question3"><?php echo $forms_key['name']; ?></label>
    </div>
    <?php
}
?>

答案 1 :(得分:0)

您的 $forms['fields'] 数组没有键,它包含两个数组元素,其中包含其内部元素的键。您可以使用 $forms["fields"][0]["name"] 或 $forms["fields"][1]["name"] 来检查它们。

答案 2 :(得分:0)

删除 array_key 并设置如下,fields 是一个子数组。你也需要接受它。

<?php
$forms_keys = $forms['fields'];

for ($i = 0; $i < count($forms_keys); $i++) {
    ?>
    <div class="form-group col-md-12">
        <label for="question3"><?php echo $forms_keys[$i]['name']; ?></label>
    </div>
    <?php
}
?>
相关问题