【问题标题】:How to pass a table through a form PHP如何通过表单PHP传递表格
【发布时间】:2021-05-24 16:38:50
【问题描述】:

我需要编写一个 Web 应用程序,我需要通过一个表单传递一个二维表。 所以在我的表单中,我有 2 个这样的循环:

for($col = 0; $col<$SizeM; $col++){
    echo "<tr>" ;
    for($line = 0; $line<$SizeM; $line++){
        echo"<td><input type='number' name=m[$col][$line] min='0' max='1' size = '1'></td>" ;
    }
    echo "</tr>" ;
}

我不知道如何找回这张桌子......

我正在尝试这样做,但它不起作用。

$m = $_GET['m] ;
echo "$m [0][1]";

但是当我做print_r($m); 时,他会工作并告诉我这个

数组 ( [0] => 数组 ( [0] => 1 [1] => 0 ) [1] => 数组 ( [0] => 0 [1] => 0 ) )

那么我该如何使用这张桌子呢?

【问题讨论】:

    标签: php arrays forms


    【解决方案1】:

    在字符串中打印多维数组的值时,必须用括号括起来,否则 PHP 将只取第一个索引,并假定后面都是文本:

    $m = [[1,2,3], [4,5,6]];
    
    echo "{$m[0][1]}";
    // outputs 2, desired value
    
    echo "$m[0][1]";
    // outputs "Array[1]" (Array = $m's type, "[1]" string literal)
    
    echo "$m [0][1]";
    // outputs "Array [0][1]", none of the indexes
    // are taken into account, [0][1] are printed as strings
    
    

    【讨论】:

    • 非常感谢您一切正常!
    【解决方案2】:

    使用这个:

     echo '<td><input type="number" name="m['.$col.']['.$line.']" min="0" max="1" size = "1"></td>' ;
    

    【讨论】:

      【解决方案3】:

      你可以试试这个:

      foreach ($_GET['m'] as $key => $value) {
      echo "<tr>";
      for ($i = 0; $i < count($value); $i++) {
          echo "<td>" . $value[$i] . "</td>";
      }
      echo "<tr>";
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-20
        • 2023-03-22
        • 2014-02-02
        • 2011-01-28
        • 2014-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多