微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从PHP中未知数量的字段创建变量

如何解决从PHP中未知数量的字段创建变量

我有一个动态表格,其中包含以下字段。

<input class="uk-input" id="Employer1Name" name="EmployerName[]" type="text" placeholder="">

用户可以使用按钮添加任意数量的按钮,该按钮会动态增加ID以保持其唯一性,例如:

    <input class="uk-input" id="Employer1Name" name="EmployerName[]" type="text" placeholder="">   
    <input class="uk-input" id="Employer2Name" name="EmployerName[]" type="text" placeholder="">
    <input class="uk-input" id="Employer3Name" name="EmployerName[]" type="text" placeholder="">

我不知道它们包括多少个,但是我需要将其带入PHP并将其放入表中。我使用JQuery Serialize和Ajax将数据获取PHP脚本。是否为每个项目创建一个新变量?如果可以,怎么办?我有

foreach($_POST['EmployerName'] as $key => $value) {
    echo $key." - ".$value;

}

这会遍历所有“ EmployerName”以获取键和值,但是我需要将它们处理成MysqL语句并存入数据库。我只是不知道如何从循环中获取数据,我正在考虑为每个变量创建变量,例如$EmployerName.$key = $value,但是我陷入了“未定义的变量:...中的EmployerName”的问题。 / p>

*编辑

  1. 我可以使用$ value来获取值,但是如何将其与变量关联以便以后使用?
  2. 有更多的数据,因此在循环中执行任何操作都会导致其他变量循环出现的问题,这种情况只会发生一次。

解决方法

我同意@Nathanael,将值与新变量相关联的正确方法是

${'EmployerName'.$key} = $value

但是这些值已经可以通过$_POST['EmployerName'][$i]访问,其中$i是索引,您可以使用count($_POST['EmployerName'])来获取总值计数

,

如果要存储数据供以后使用,可以执行以下操作:

<?php

$newArray = array();

foreach($_POST['EmployerName'] as $key => $value) {
    $newArray[$key] = $value;
}

die('<pre>' . print_r($newArray,true) . '</pre>');

当然,您可以根据需要构建$ newArray。例如,您提到的其他数据。确保稍后处理用户输入,并使用PDO进行数据库操作。

如果您还有其他问题,请告诉我

工作示例:https://ideone.com/qPcG80

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。