正在寻找一种方法,在提交后将具有动态名称和id的表单字段的结果存储在数组中


Looking for a way to store the result of a form field with dynamic name and id in an array after submit

我正在构建一个包含以下字段的表单:

$k = 1;
foreach($ui_fmlSect_pg as $val)
{
    $url_arr[] = $val;
    echo '<tr>';
    echo '<td><input size="1" type="text" name="freq_'.$k.'" id="freq_'.$k.'" 
          value="'.$udf_fmlS.'"></td></tr>';
    ++$k;
}

我想找到一种方法,将输入的,即变量$udf_fmlS的内容或任何手动覆盖,从*freq_$k*命名的输入字段添加到数组中,但我不知道如何进行,尤其是在名称和id是动态生成的情况下。

提前感谢您的帮助

您可以这样做:

$freq = array();
foreach ($_POST as $key => $val) {
    // check for submitted data starting with freq_
    if (substr($key, 0, 5) == 'freq_') {
        // use the number after freq_ as the key and the value as the value
        $freq[substr($key, 5)] = $val;
    }
}

如果我理解正确,您将有如下变量:

$_REQUEST['freq_0']
$_REQUEST['freq_1']

等等。你可以做一些类似的事情:

<?php
$freq_val_arr = array();
foreach($_REQUEST as $key => $val){
    if (strpos($key, 'freq') === 0){
        $freq_val_arr[] = $val;
    }
}

只需将'file_'.$k更改为'file[]''file[' . $k . ']'