【问题标题】:How to count a dynamic HTML form input array with PHP?如何用 PHP 计算动态 HTML 表单输入数组?
【发布时间】:2012-11-21 15:50:08
【问题描述】:

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

但问题是我很难确定添加了多少“联系人”文件。这是单击按钮时生成的一些 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 来确定添加了多少个文件以便循环遍历它们?

非常感谢任何帮助!

【问题讨论】:

  • 这个 php 有效吗?它是否循环遍历数组?我的理解是,你不能像这样从 html 到 php 做 multidem 数组。
  • @shapeshifter - 是的,你可以......这是完全有效的
  • 是的,上面的代码确实循环通过了一个multidem数组
  • 有人有文档支持吗?

标签: php jquery arrays loops multidimensional-array


【解决方案1】:

你可以像这样简单地得到一个计数:

$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'];
    }
}

【讨论】:

  • 我也想说这个,但我不认为你可以像这样拥有从 html 到 php 的多维数组。这真的有效吗?
  • @shapeshifter - 是的,正如我上面所说,你可以。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多