首页 > 后端开发 > php教程 > 如何使用括号内的输入名称有效地将 HTML 表单输入检索为 PHP 中的嵌套数组?

如何使用括号内的输入名称有效地将 HTML 表单输入检索为 PHP 中的嵌套数组?

Mary-Kate Olsen
发布: 2024-12-05 17:53:15
原创
991 人浏览过

How can I effectively retrieve HTML form input as nested arrays in PHP using bracketed input names?

在 HTML 和 PHP 中将表单输入作为数组

在 HTML 表单中,您可以通过将方括号 ([]) 合并到输入名称属性中来以数组格式表示输入字段。当您有多个相同类型的输入并希望以结构化方式捕获它们的值时,这种方法变得特别有用。

问题陈述

考虑以下表单结构:

<form>
    <input type="text" name="levels[level]">
    <input type="text" name="levels[build_time]">

    <input type="text" name="levels[level]">
    <input type="text" name="levels[build_time]">
</form>
登录后复制

目标是在 PHP 中以数组形式检索输入值,组织为如下:

Array (
  [1] => Array ( [level] => 1 [build_time] => 123 )
  [2] => Array ( [level] => 2 [build_time] => 456 )
)
登录后复制

解决方案

要实现此目的,只需在输入名称中添加括号即可:

<input type="text" name="levels[level][]">
<input type="text" name="levels[build_time][]">
登录后复制
登录后复制

此更改允许 PHP 自动按括号对输入进行分组,生成所需的数组

故障排除

初始输出问题:

[levels] => Array (
  [0] => Array ( [level] => 1 )
  [1] => Array ( [build_time] => 234 )
  [2] => Array ( [level] => 2 )
  [3] => Array ( [build_time] => 456 )
)
登录后复制

解决方案:确保括号放在末尾输入名称属性的:

<input type="text" name="levels[level][]">
<input type="text" name="levels[build_time][]">
登录后复制
登录后复制

这将创建将level和build_time的数组分开。

用法示例:

$levels = $_POST['levels'];

echo $levels['level'][0]; // Output: 1
echo $levels['build_time'][0]; // Output: 123
登录后复制

结论

通过在输入名称中使用括号,您可以轻松创建数组PHP 中的内容反映了 HTML 表单的结构。这简化了数据检索和处理。

以上是如何使用括号内的输入名称有效地将 HTML 表单输入检索为 PHP 中的嵌套数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板