我有一个个人资料页面,用户可以在其中编辑他们的个人资料,我已经为他们提供了一个技能表格,他们可以输入技能名称和你完美的百分比如同>
Skill1 percentage 86% Add more
这个添加更多按钮动态添加输入字段
所以现在当我尝试在这里保存这些数据时,我得到的是$ _POST
$_POST['skill'];
$_POST['percentage'];
我尝试将它们添加到数组中,以便我可以将其保存到数据库,但由于多个动态字段,它会变得混乱和放大那么这就是我在数组中收到的内容
Array
(
[0] => Photoshop
[1] => 55%
[2] => PHP
[3] => 35%
)
我怎么能轻易知道这个百分比属于这个技能
有时数组看起来像
Array
(
[0] => 55%
[1] => Photoshop
[2] => PHP
[3] => 35%
)
那么如何将动态字段数据存储到数组中,以便以后可以正确显示给用户
答案 0 :(得分:3)
使用您喜欢的数组格式:
<input name='skill[0]'>
<input name='percentage[0]'>
<input name='skill[1]'>
<input name='percentage[1]'>
这将为您提供索引匹配的两个数组,例如:
(
[skills] => Array
(
[0] => Photoshop
[1] => Word
)
)
和
(
[percentage] => Array
(
[0] => 65%
[1] => 90%
)
)
然后,您可以使用array_combine($_POST['skills'], $_POST['percentage'])
来获得类似的内容:
Array(
[Photoshop] => 65%
[Word] => 90%
)
您可以使用name='skill[]
和name='percentage[]
动态创建它们而不是使用数字索引,但如果您尝试使用复选框执行此操作,它将无法正常工作。
答案 1 :(得分:3)
如果要传递多个值,则需要在表单中设置字段数组,例如:
<input type="text" name="skills[]">
<input type="text" name="percentage[]">
然后在你的php脚本中:
foreach($_POST['skills'] as $index => $value) {
$skills[$value] = $_POST['percentage'][$index];
}
假设技能和百分比是具有相同大小的数组。