数组位于php形式的数组列表旁边


Array in side an array list in php form

我想构建一个简单的表单来收集输入值并发送电子邮件。有些输入名称是数组,我就是无法从这些数组中获取值。下面是代码。

$keysToKeep = array('CustomFields[6]', 'email');
$values = array_intersect_key($_POST, array_flip($keysToKeep));
print_r($keysToKeep);
foreach ($values as $name => $value)
{
    $message .= $name . ': ' . $value . PHP_EOL;
}

HTML代码:

Your name:
<input type="text" name="CustomFields[6]" id="CustomFields_6_337" value="" fid="4" fname="Name" size='64' maxlength='64'>
Your Email Address:
<input type="text" class="email" name="email" fid="e" fname="Email" ftype="Email" reqd="1"/>

访问PHP表单中的数组值如下。

$customField = $_POST['CustomFields'][6];

下面的代码将允许遍历$_POST数组并收集它所包含的数据。如果$_POST数组的任何元素本身就是数组,则使用另一个循环。

//loop collects form data     
foreach($_POST as $key => $field) {
     //checks if data being collected is an array
     //if it is an array another loop is used to collect data            
     if(is_array($field)){
            foreach($field as $subkey => $subfield){
                echo $subfield;
            }
     }
     else{
            echo $field;
     }
}