foreach $_POST [key] PHP


foreach $_POST [key] PHP

我需要将密钥插入$_POST。有办法达到这个目的吗?我的PHP比较新。

    $mat_list_data = '';
    foreach( $_POST['mat_tit'] as $key => $_POST['mat_tit'] ) {
      $mat_list_data .= '
        <table" cellspacing="1">
            <tr>
                <td>'.$_POST['mat_tit'].'</td>
            </tr>
            <tr>

/*从这里*/

            <td>'.$_POST['mat_up'].'</td>
            <td>'.$_POST['mat_q'].'</td>
            <td>'.$_POST['mat_ut'].'</td>
            <td>'.$_POST['mat_c'].'</td>
            <td>'.$_POST['mat_isum'].'</td>
            <td>'.$_POST['mat_vv'].'</td>
            <td>'.$_POST['mat_sv'].'</td>
            <td>'.$_POST['mat_itot'].'</td>

/*到这里*/

            </tr>
        </table>';
}
    $pdf->writeHTML($mat_list_data, true, true, false, true, 'L');

如果有更简单的过程,请告诉我。非常感谢任何指导。

$_POST[]是一个超全局数组,特别是引用已发布的HTTP数据的数组。因此,向数组中添加数据可能会使代码更加混乱和容易出错,因为它不会发布信息。

与所有超全局变量一样,您应该将它们视为输入数据的特殊情况源;将数据读入局部变量,然后使用正确的卫生设施。

例如:

$data = $_POST['matt_tit'];
$results = array();
foreach($data as $name => $value) {
  $results[$name] = $this->sanitiseData($value); // Filter input
}
// Now use $results rather than $_POST

您不需要将其值分配给$_POST,您可以使用一个简单的数组。我不确定这是否是你想要的,但我会试试:

    $mat_list_data = '<table" cellspacing="1"><tr>';
    foreach( $_POST as $Values ) {
      $mat_list_data .= '<td>' . $Values . '</td>';
      }
    $mat_list_data .= '</tr></table>'