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

问题描述

|| 我正在构建一个包含以下字段的表单:
$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,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 . \']\'