使用迭代器计算帖子

时间:2013-04-22 14:57:49

标签: php post count

我可以计算提交了多少个POST作为Field_Amount_1,Field_Amount_2,Field_Amount_3等......这样的话吗?

$Counting = count($_POST['Field_Amount_']);

感谢您的任何建议

2 个答案:

答案 0 :(得分:2)

最简单的方法是纠正你的表格,如:

<input name="Field_Amount[]" type="text" />
<input name="Field_Amount[]" type="text" />
<input name="Field_Amount[]" type="text" />

这使得它发布一个数组,$_POST将包含:

Array (
   'Field_Amount' => Array (
      0 => 'amount'
      1 => 'amount'
      2 => 'amount'
    )
)

然后你可以count($_POST['Field_Amount'])

另一种方法是手动计算所有元素:

$keys = array_keys($_POST);
$counted = count(preg_grep('/^Field_Amount_\d+$/', $keys));

如果您还需要确保只跟踪非空字段,那么您可以提供一个空字符串作为array_keys的第二个参数:

$keys = array_keys($_POST, '');
$counted = count(preg_grep('/^Field_Amount_\d+$/', $keys));

如果您需要进行更多验证,则需要手动循环。

答案 1 :(得分:0)

if($_POST['Submit']) {

    $count=0;

    foreach( $_POST as $post ) {
        if( strstr($post, "field_amount_")) {
            $count++;
        }
    }
    echo $count;
}