2013-09-28 3 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 разных чисел. Я хочу добавить каждое из этих чисел в массив, чтобы я мог сортировать числа. Я знаю sort - встроенная функция, но я хочу написать свои собственные алгоритмы сортировки. Мне просто нужно получить все числа в массиве, чтобы я мог передать ему свои функции.Ввод чисел из ввода формы в массив PHP

$numArr = array(); 

Я попробовал все от array_push назвать $ _POST [ 'number1'] непосредственно в самом массиве. Каждый раз, когда я делаю echo $ numArr все, что я получаю, это пустой массив в качестве вывода.

+0

Сделать это проще, просто используя форму input name array синтаксис '' – mario

+0

возможный дубликат [PHP, создающий массив из полей ввода формы] (http://stackoverflow.com/ вопросы/12533044/php-create-a-array-from-form-input-fields) – mario

+0

Хорошо, я не понимал, что это был жизнеспособный способ сделать это. Очень новый для PHP. И я просмотрел другую ссылку, которую вы указали заранее, но я не мог ее выполнить. – Shrp91

ответ

3

Вы должны использовать то же имя входного элемента и сделать его массив, как,

<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

Смежные вопросы