2010-05-24 2 views
0

У меня есть 15 полей ввода, каждый из которых находится в своей собственной ячейке таблицы. Они находятся в таблице, потому что мне нужно, чтобы они выглядели как матрица.Ввод данных из поля ввода в матрицу

Вопрос: теперь, когда пользователь вводит данные в эти поля ввода и попадает в submit, как передать эти данные в матрицу?

Настоящая проблема заключается в том, что из этих входных данных мне нужно найти значения min в каждой строке и максимальные значения в каждом столбце исходной таблицы.

Надеюсь, я был достаточно ясен.

ответ

5

Использование массивов. Таким образом, для двух мерной матрицы:

<input type="text" name="matrix[0][0]" value="cell_0_0"> // The top left element 
<input type="text" name="matrix[0][1]" value="cell_0_1"> // The top 2nd element 
... 
<input type="text" name="matrix[1][0]" value="cell_1_0"> // The 2nd left element 

Тогда, в PHP, все, что вам нужно сделать, это

$matrix = $_POST['matrix']; 

$ -матрица бы тогда:

$matrix = array(
    "0" => array(
     "0" => "cell_0_0", 
     "1" => "cell_0_1", 
    ), 
    "1" => array(
     "0" => "cell_1_0", 
     "1" => "cell_1_1", 
    ), 
) 

EDIT: Для того, чтобы генерировать массив с шириной $ i и высотой $ j: (Он также будет «заполнять» существующую матрицу)

$matrix = array(); 
for ($a = 0; $a < $j; $a++) { 
    if (!isset($matrix[$a])) { 
     $matrix[$a] = array(); 
    } 
    for ($b = 0; $b < $i; $b++) { 
     if (!isset($matrix[$a][$b])) { 
      $matrix[$a][$b] = 'start_value'; 
     } 
    } 
} 

Затем, чтобы получить значение в любой точке:

$val = $matrix[1][2]; 

и установить значение в любой точке (когда определена):

$matrix[1][2] = $val; 
+0

Это было очень полезно :) Но у меня есть переменное число полей и матрицы может быть любым, от 1-1 до MM элементов. Мои поля ввода называются field_ $ i, $ j, где i, j - позиции элементов ввода в исходной таблице. Я сделал это для счетчика. Я предполагаю, что это будет что-то вроде $ матрицы = массив ( "$ я" => массив ( "what_here? :)" => ) "$ J" => массив .... – Nikola

+0

@Nikola - Я отредактировал свой первоначальный ответ ... Надеюсь, что это поможет – ircmaxell

+0

Это было, немного, но не слишком много:/ Но, поскольку я все еще думаю, что я был неясен с моей проблемой, я создал хорошую картину, показывающую, что я действительно нужно :) http://img46.imageshack.us/img46/350/matrixu.gif – Nikola

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