如何用PHP计算动态HTML表单输入数组?

时间:2012-12-04 03:52:55

标签: php jquery arrays loops multidimensional-array

我在页面上有一个按钮,当用户按下它时,它会在页面上创建另一个“联系人”字段。 “联系人”字段允许他们在其个人资料中添加新联系人。此外,他们可以根据需要多次点击按钮,并创建许多“联系”字段。

但问题是,我很难确定添加了多少“联系人”文件。以下是单击按钮时生成的一些HTML:

<div class="item">
    <label for="in-1v">First Name <span>*</span></label>
    <div class="text">
        <input type="text" id="in-1-0" name="member[0][fname]" value="" />
    </div>
</div>
<div class="item">
    <label for="in-2-0">Last Name <span>*</span></label>
    <div class="text">
        <input type="text" id="in-2-0" name="member[0][lname]" value="" />
    </div>
</div>

每次单击该按钮时,name =“member [0] [lname]”将变为name =“member [ 1 ] [lname]”并且每次按钮都会继续递增点击。如前所述,用户可以在页面上多次执行此操作。

我使用PHP循环遍历多维数组:

$array = $_POST['member'] ;
foreach($array as $array_element) {
  $fname = $array_element['fname'];
  $lname = $array_element['lname'];
}

如何使用PHP来确定添加了多少个文件,以便我可以遍历它们?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:6)

你可以简单地得到这样的计数:

$count = count($_POST['member']);

然后你也可以修改你的循环:

// First check to see if member is set and is a valid array
if (!empty($_POST['member']) && is_array($_POST['member'])) {
    $count = count($_POST['member']);
    for ($i = 0; $i < $count; $i++) {
        $fname = $_POST['member'][$i]['fname'];
        $lname = $_POST['member'][$i]['lname'];
    }
}