2013-09-28 111 views
0
<form method="post" action = "handler.php" > 
<input type="text" name="number1" /> 
<input type="text" name="number2" /> 
<input type="text" name="number3" /> 
<input type="text" name="number4" /> 
<input type="text" name="number5" /> 
etc.. 

我有一個表單設置爲10個不同的數字。我想將這些數字中的每一個都添加到數組中,以便我可以對數字進行排序。我知道排序是一個內置的功能,但我想我自己寫的排序算法我只需要得到所有的數字到一個數組,所以我可以將它傳遞我的功能。從表單輸入到數組中輸入數字PHP

$numArr = array(); 

我已經嘗試了一切從array_push直接在數組本身調用$ _POST ['number1']。每次我做回聲$ numArr我得到的是一個空數組作爲輸出。

+0

使用戶更容易通過僅僅使用形式輸入名稱數組語法'<輸入名稱=「號碼[]」>' – mario

+0

可能[PHP創建從表單輸入字段的陣列]的重複(http://stackoverflow.com/問題/ 12533044/PHP的創造,一個陣列,從形式輸入字段) – mario

+0

好吧,我不知道那是做的一個可行的方法。對PHP很新穎。我已經審查了您事先列出的其他鏈接,但我無法真正遵循它。 – Shrp91

回答

3

你必須使用input元素的名稱相同,並使其成爲一個數組一樣,

<form method="post" action="handler.php"> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
</form> 

現在,當您在提交表單handler.php您將獲得一組numbers[]。可以使用sort()對數組進行排序。

$sort_array = sort($_POST['numbers']); 

如果您打印$sort_array那麼你可以看到排序的數組元素。

0
<form method="post" action="handler.php"> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
    <input type="text" name="numbers[]" /> 
</form> 

提交時...

sort($_POST['numbers']); 
+0

我知道_sort_是一個內置的功能,但我想涉足到寫我自己的排序算法我只是需要一種方法來所有值添加到一個數組作爲他們的整數值。我試過$ numArr =($ _POST ['numbers']);但這似乎並不奏效。 – Shrp91

+0

'$ numArr = $ _POST ['numbers'];'...沒有括號......或直接使用它。 – djot

+0

您不必首先將$ numArr聲明爲數組?我只是意識到我忘了把它放在我以前的評論中。它應該是$ numArr = array($ _ POST ['numbers']);除非我做其他事情不對,否則這對我不起作用。 – Shrp91