2013-10-09 93 views
0

有沒有辦法可以統計<input type="text" name="a">在表單中出現的次數?計算某個表單中特定輸入的出現次數

我已經試過

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

但不管這個計算所有輸入的名字輸入...

+1

你是說你在表單中有多個''?請張貼表格。 – j08691

+1

...也不要忘了使用括號:''處理具有相同名稱的多個輸入時。 – insertusernamehere

+0

是的......我有4個...... –

回答

2

HTML表單不該」 t包含多個<input>元素與相同10屬性。

如果您使用以下標記:

<input type="text" name="a"> 
<input type="text" name="a"> 

那麼該值將得到無效,你只收到您$_POST陣列最後<input>元素的值。

如果你想抓住從多個<input>要素的投入,使用下面的標記來代替:

<input type="text" name="a[]"> 
<input type="text" name="a[]"> 
<input type="text" name="a[]"> 

在這種情況下,每個<input>元素將被單獨考慮,你就能檢索值在$_POST陣列中。

計數<input>元素的出現次數的數量,你可以使用以下命令:

echo count($_POST['a']); 

考慮下面的代碼:

<?php 
if (isset($_POST['submit'])) { 
    print_r($_POST); 
    echo count($_POST['a']); 
} 
?> 
<form action="" method="post"> 
    <input type="text" name="a[]"> 
    <input type="text" name="a[]"> 
    <input type="text" name="a[]"> 
    <input type="submit" name="submit"> 
</form> 

這將正確顯示的數<input>元素的name屬性等於a

+0

謝謝你明智的一個:) –

+0

我怎樣才能使用數組中的元素? –

+0

@ionvoinescu:我認爲這很明顯。像這樣:'echo $ _POST ['a'] [0];':) –

0

答案很簡單,它只會出現一次。對於所有文本輸入字段,名稱屬性必須是唯一的,除非將名稱附加方括號[]。否則,表單中的最後一個將會覆蓋其他值。

0

如果你命名爲數組

<input type="text" name="a[]"> 
<input type="text" name="a[]"> 
<input type="text" name="a[]"> 

,那麼你將計數器得到儘可能

echo count ($_POST['a']); 

輸出輸入名稱:3

否則計數器1

相關問題