1

我有一个包含 5 个输入字段的表单。每个字段都有一个数组名称,因为有可能一次创建多个记录。

例子:

<input type="text" name="name[]" />
<input type="text" name="surname[]" />
<input type="text" name="address[]" />
<input type="text" name="phone[]" />
<input type="text" name="age[]" />

我的问题是如何用 php 管理多个名称数组?我知道如何使用单个数组(多个复选框选中的情况)来做到这一点,但我被困在这里。

$all[] = $_POST["name"];
$all[] = $_POST["surname"];
$all[] = $_POST["address"];
$all[] = $_POST["phone"];
$all[] = $_POST["age"];
???

foreach {....???
4

3 回答 3

3

每个输入都有一个索引,通过将所有值相乘,同一组中的所有字段都将具有相同的数组索引:

foreach($_POST['name'] as $num => $one){

    echo $_POST['name'][$num]; // or $one
    echo $_POST['surname'][$num];
    echo $_POST['address'][$num];
    echo $_POST['phone'][$num];
    echo $_POST['age'][$num];
}
于 2012-09-14T16:49:22.843 回答
0

你可以这样做:

$all = $_POST["name"];
foreach($all as $val) {
    //Do whatever with $val
}
于 2012-09-14T16:48:59.510 回答
0

在这种情况下,最好使用这样的多维数组:

$all['name'] = $_POST['name'];
$all['surname'] = $_POST['surname'];
$all['address'] = $_POST['address'];
$all['phone'] = $_POST['phone'];
$all['age'] = $_POST['age'];

//1st processing option
foreach ($all as $key => $dataList) {
    //some code
    foreach ($dataList as $data) {
        //some code
    }
}

//2nd processing option
foreach ($all['name'] as $data) {
    //some code
}
//repeat for each of 'name, surname, address, phone, age'
于 2012-09-14T16:53:39.060 回答