2017-04-02 38 views
0

我有下面的数组2d,变量($ C00等)本身有价值。如何在PHP中调用数组2D?

$matriks = array(array($C00, $C01, $C02, $C03), 
      array($C10, $C11, $C12, $C13), 
      array($C20, $C21, $C22, $C23), 
      array($C30, $C31, $C32, $C33)); 

我想使用二维数组下一页上,以提交表单POST方法: 我不知道该代码corret或不:)。

foreach ($matriks as $val) { 
foreach ($val as $v) { 
echo '<input type="hidden" name="Matriks[][]" value="'.$v.'">'; 
}} 

那么如何在action页面调用它呢? (提交后) 我这样的代码,但仍然是错误的。

$matriks=array(); 
foreach($_POST['Matriks'] as $key => $val) { 
foreach ($val as $k => $v) { 
    $matriks[$key][$k] = $v; 
}} 
+1

你能善意地一点更清楚..? –

回答

0

更新如图所示的这部分代码:

foreach ($matriks as $i => $val) { 
    foreach ($val as $v) { 
     echo '<input type="hidden" name="Matriks[' . $i . '][]" value="'.$v.'">' . "\n"; 
    } 
} 

使用$i键确保您的矩阵在DOM很好的体现,否则所有的值将只在位置互相覆盖,其他[0, 0]

如果您在操作页面上var_dump$_POST,你会看到你这样的矩阵输出:

array (size=1) 
    'Matriks' => 
    array (size=4) 
     0 => 
     array (size=4) 
      0 => string '00' (length=2) 
      1 => string '01' (length=2) 
      2 => string '02' (length=2) 
      3 => string '03' (length=2) 
     1 => 
     array (size=4) 
      0 => string '10' (length=2) 
      1 => string '11' (length=2) 
      2 => string '12' (length=2) 
      3 => string '13' (length=2) 
     2 => 
     array (size=4) 
      0 => string '20' (length=2) 
      1 => string '21' (length=2) 
      2 => string '22' (length=2) 
      3 => string '23' (length=2) 
     3 => 
     array (size=4) 
      0 => string '30' (length=2) 
      1 => string '31' (length=2) 
      2 => string '32' (length=2) 
      3 => string '33' (length=2) 
+0

很好,先生,非常感谢你。它解决了 – LDV

+0

不客气:)请接受答案 –