【问题标题】:How to iterate through $_POST arrays in PHP如何在 PHP 中遍历 $_POST 数组
【发布时间】:2016-05-15 14:11:40
【问题描述】:

我正在使用 FPDF 库,并且正在尝试动态创建一个新单元格。我在我的 HTML 中有一组输入字段,它们都具有相同的 name 属性,看起来像这个 name="field[0][]"。如果用户生成第二个组,那么他们的 name 属性将类似于 name="field[1][]" 等等。这是 HTML:

<div class="new">
   <input  name="field[0][]" class="description" type="text" maxlength="255" placeholder="Enter Description" value=""/>
   <input  name="field[0][]" data-rate="rate" class="rate qty" type="text" maxlength="255" placeholder="0" size="5" value=""/>
   <input  name="field[0][]" data-price="price" class="pack price" type="text" maxlength="255" placeholder="$ 0.00" size="5" value=""/>
   <input  name="field[0][]" id="amount" class="amount" type="text">
</div>

在 PHP 中,我有一个 foreach 循环,它从 name="field[0][]" 获取所有值并将它们注入到 FPDF 单元中,这是我的代码。

$width_array = array(100, 25, 25, 0);
$pos_array = array(0, 0, 0, 1);
$align_array = array('L', 'C', 'L', 'L');

foreach ($_POST['field'][0] as $key => $description) {
    $pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]);
}

到目前为止,这对于一组具有相同名称属性的输入来说看起来很棒,但是如果我有更多的输入集,例如 $_POST['field'][1], $_POST[',我如何动态生成更多单元格field'][2] 等。我知道如果我添加另一个 foreach 循环并更改数组编号,它将显示下一个字段,但这是错误的,它必须是动态生成的。

foreach ($_POST['field'][1] as $key => $description) {
    $pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]);
}

是否可以在 $_POST['field'][0] 中添加一个?然后在foreach循环中使用它?

【问题讨论】:

    标签: php fpdf


    【解决方案1】:

    问题是 PHP 还是 HTML?

    HTML 你可以通过 JS 来解决。因此,您只需要保存索引,每次有人添加块时,您都会增加索引。这样您就可以动态创建 HTML 代码。

    PHP 你只需要将 2 个 foreach 放在一起:

    foreach ($_POST['field'] as $dataArray) {
        foreach ($dataArray as $key => $description) {
            $pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]);
        }
    }
    

    【讨论】:

    • 问题是PHP所以你刚刚解决了我的问题,非常感谢。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多