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

thr*_*ee3 2 php arrays jquery 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>
Run Code Online (Sandbox Code Playgroud)

每次单击该按钮时,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'];
}
Run Code Online (Sandbox Code Playgroud)

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

任何帮助是极大的赞赏!

Ste*_*ley 6

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

$count = count($_POST['member']);
Run Code Online (Sandbox Code Playgroud)

然后,您还可以将循环修改为如下所示:

// 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'];
    }
}
Run Code Online (Sandbox Code Playgroud)