问题描述
<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>
*编辑
- 我可以使用$ value来获取值,但是如何将其与变量关联以便以后使用?
- 有更多的数据,因此在循环中执行任何操作都会导致其他变量循环出现的问题,这种情况只会发生一次。
解决方法
我同意@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进行数据库操作。
如果您还有其他问题,请告诉我