首页 >后端开发 >php教程 >如何在PHP中通过POST高效提交和检索多维数组?

如何在PHP中通过POST高效提交和检索多维数组?

DDD
DDD原创
2024-12-03 16:37:16184浏览

How to Efficiently Submit and Retrieve Multidimensional Arrays via POST in PHP?

使用 PHP 通过 POST 提交多维数组

在许多场景中,我们会遇到行数和预定义列数不同的表单。用户可以根据需要自由添加行。了解如何将这些动态输入捕获为可用格式至关重要。

考虑一个包含产品属性列的表单,例如顶部直径、底部直径、面料、颜色和数量。虽然列数保持不变,但行数是动态的。

构造表单

为了适应动态的行数,我们使用数组索引。例如:

<input name="topdiameter[0]" type="text">

这会生成如下所示的 HTML:


  <input name="topdiameter[0]" type="text">

检索输入数据

提交表单后,可以通过以下方式访问输入数据$_POST 超全局变量。它显示为数组的数组:

$_POST['topdiameter'] = array('first value', 'second value');
$_POST['bottomdiameter'] = array('first value', 'second value');

使用多维数组

使用单个二维数组比使用多个一维数组更有效。为此,我们修改表单名称格式:

name="diameters[0][top]"
name="diameters[0][bottom]"
name="diameters[1][top]"
name="diameters[1][bottom]"
...

使用此修改后的格式,我们现在可以轻松遍历值:

if (isset($_POST['diameters'])) {
    echo '<table>';
    foreach ($_POST['diameters'] as $diam) {
        // Here, $diam['top'] and $diam['bottom'] are accessible
        echo '<tr>';
        echo '  <td>', $diam['top'], '</td>';
        echo '  <td>', $diam['bottom'], '</td>';
        echo '</tr>';
    }
    echo '</table>';
}

以上是如何在PHP中通过POST高效提交和检索多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn