2010-05-24 67 views
0

我有15个输入字段,每个字段都在它自己的表格单元格中。 他们在桌子上,因为我需要他们看起来像一个矩阵。将数据从输入字段放入矩阵

现在的问题是 - 当用户在这些输入字段中输入数据并点击提交时,如何将该数据转换为矩阵?

真正的问题是,从该输入数据中,我需要在原始表格的每一行中找到最小值,并在每列中找到最大值。

我希望我已经够清楚了。

回答

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", 
    ), 
) 

编辑:要生成宽度为$ 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是原始表中输入元素的位置。我是用柜台做的。 我想这会是这样的 $矩阵=阵列( “$ I”=>阵列( “what_here?:)”=> ) “$ J”=>阵列.... – Nikola 2010-05-24 20:01:22

+0

@Nikola - 我编辑了我的原始答案...希望这可以帮助 – ircmaxell 2010-05-24 20:06:41

+0

虽然有点但不是太多:/ 但是,因为我仍然认为我不清楚自己的问题,所以我创建了一张不错的图片,真的需要:) http://img46.imageshack.us/img46/350/matrixu.gif – Nikola 2010-05-25 11:42:55