在 PHP 表单中,您可能会遇到多个名称相似的输入字段的问题,从而创建类似数组的结构。但是,在 PHP 中访问这些值时,您可能会注意到它们作为单个字符串输出。本文解决了这个问题,并提供了一种将输入数组转换为可用 PHP 数组的解决方案。
为了演示该问题,请考虑以下 HTML 表单:
<input type="text" name="name[]" /> <input type="text" name="email[]" /> <input type="text" name="name[]" /> <input type="text" name="email[]" /> <input type="text" name="name[]" /> <input type="text" name="email[]" />
当此表单为提交后,相应的 PHP 变量将填充为数组:
$name = $_POST['name']; $email = $_POST['email'];
但是,当您尝试输出值时,您会注意到它们显示为单个字符串:
foreach ($name as $v) { print $v; } foreach ($email as $v) { print $v; }
name1name2name3email1email2email3
要解决此问题,您可以迭代两个数组并使用辅助函数组合它们相应的值:
foreach ($name as $key => $n) { print "The name is " . $n . " and email is " . $email[$key] . ", thank you\n"; }
您可以扩展此模式处理其他输入字段:
$location = $_POST['location']; foreach ($name as $key => $n) { print "The name is " . $n . ", email is " . $email[$key] . ", and location is " . $location[$key] . ". Thank you\n"; }
此解决方案允许您以结构化且可访问的方式访问输入值,使您能够执行根据需要进一步处理或操作。
以上是如何在 PHP 中正确处理类似数组的表单输入?的详细内容。更多信息请关注PHP中文网其他相关文章!