将两个输入数组合并为一个数组,以便使用PHP输入数据库

时间:2010-07-12 02:30:06

标签: php jquery arrays

我有一个jQuery函数,允许用户创建链接列表。通过单击“添加行”链接,他们可以创建任意数量的块(如下所示),他们可以将信息输入到这些块中。

<div class="links_row">

    <input type="text" name="link_name[]">
    <input type="text" name="link_url[]">

</div>

我将此数据发布到PHP函数以插入到如下所示的数据库中:

+---------------+
|id             |
+---------------+
|name           |
+---------------+
|url            |
+---------------+

我需要弄清楚如何组合两个输入数组link_name []和link_url []并循环生成单个数组,将每个数组作为一行插入数据库中。

3 个答案:

答案 0 :(得分:2)

可能不是最干净的方法,但快速循环应该这样做。 我假设您已经验证并清理了表单数据,并确保数组的大小相同。

$rows = array();

$num_results = count($_POST['link_name']);
for($i = 0; $i < $num_results;  $i++) {
    $rows[$i]['url'] = $_POST['link_url'][$i];
    $rows[$i]['name'] = $_POST['link_name'][$i];
}

答案 1 :(得分:1)

联合。你的意思是array_merge()结合吗?

如果是这样,请使用它。

编辑: 再想一想,你可能想要array_combine()。它需要两个数组并返回一个,其中一个输入数组提供键,另一个提供值。

答案 2 :(得分:0)

不,你最好使用数组映射,因为数字会相关。退房:

  

http://php.net/manual/en/function.array-map.php