2013-04-22 32 views
0

我可以統計有多少POST作爲Field_Amount_1,Field_Amount_2,Field_Amount_3等提交?像這樣?使用迭代器計算帖子

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

感謝您的任何建議

+0

你可以做count($ _ POST)。 – 2013-04-22 15:03:13

回答

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)); 

如果您需要做更多的驗證,那麼您將需要手動循環。

+0

這是關鍵!謝謝! – onbids 2013-04-23 21:08:19

0
if($_POST['Submit']) { 

    $count=0; 

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

非常感謝! – onbids 2013-04-23 21:09:12