Php 将多个关联数组数据插入MySQL数据库

Php 将多个关联数组数据插入MySQL数据库,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,我有下面的表单,它传递了一个名、姓和年龄的数组 <form method="post" action="form.php"> <label for="first_name">First Name:</label> <input type="text" name="first_name[]" id="first_name" /> <br /> <label for="last_name">Las

我有下面的表单,它传递了一个名、姓和年龄的数组

<form method="post" action="form.php">
    <label for="first_name">First Name:</label>
    <input type="text" name="first_name[]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="last_name[]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="age[]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="first_name[]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="last_name[]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="age[]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="first_name[]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="last_name[]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="age[]" id="age" />
    <br />
    <input type="submit" name="save" id="save" value="Save" />
</form>
如何将上述数组转换为以下结构,以便创建一个循环,一次向MySQL db/表中添加一条记录(名字、姓氏、年龄)

e、 g.名[0]、姓[0]和年龄[0]是一条记录

为了循环数据插入,我需要数组看起来与下面类似

Array
(
    [0] => Array
        (
            [first_name] => Steve
            [last_name] => Lucas
            [age] => 12
        )

    [1] => Array
        (
            [first_name] => Lisa
            [last_name] => Newman
            [age] => 44
        )

    [2] => Array
        (
            [first_name] => Owen
            [last_name] => McDowell
            [age] => 36
        )

    [save] => Save
)
$count=count($array\u in);
$array_out=array();
对于($i=0;$i<$count;$i++)
{
$array_out[]=数组
(
'first_name'=>['first_name'][$i]中的$array_,
'last_name'=>['last_name'][$i]中的$array_,
'age'=>['age'][$i]中的$array_
);
}
打印($array\u out);

就个人而言,我认为您应该更改表单(如果可能的话),以便它输出您实际需要的数组

目前你正在输出你不想要的东西,只是想把它改成你想要的东西,而你可以在第一时间输出你想要的东西。这意味着代码更少,因此更整洁、更快、更易于维护,等等

您可以将HTML表单更改为此..
我刚刚更改了每个输入的
name=”“
,因此每个表单都添加到同一个数组中,但每个表单(即第一个、最后一个、年龄)都有自己的子数组:

 <form method="post" action="form.php">
    <label for="first_name">First Name:</label>
    <input type="text" name="array[0][first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="array[0][last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="array[0][age]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="array[1][first_name1]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="array[1][last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="array[1][age]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="array[2][first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="array[2][last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="array[2][age]" id="age" />
    <br />
    <input type="submit" name="save" id="save" value="Save" />
</form>
在插入数据库时,您可以轻松地循环这些内容



要完全按照您的要求执行:

Array
(
    [0] => Array
        (
            [first_name] => Steve
            [last_name] => Lucas
            [age] => 12
        )
//etc
必须将数组名称设置为数字,以便根据需要将每个子数组的索引设置为数字,例如:

 <form method="post" action="form.php">
    <label for="first_name">First Name:</label>
    <input type="text" name="0[first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="0[last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="0[age]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="1[first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="1[last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="1[age]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="2[first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="2[last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="2[age]" id="age" />
    <br />
    <input type="submit" name="save" id="save" value="Save" />
</form>

名字:

姓氏:
年龄:


名字:
姓氏:
年龄:


名字:
姓氏:
年龄:

我认为这不是个好主意。

你为什么不认为这是个好主意?你会怎么做我很想知道有哪些不同的方法,哪些方法最好?我会按照我的第一个表单代码来做。它根据我引用的内容设置数组和子数组。通过这种方式,可以根据需要创建阵列结构,因此以后无需更改阵列。
Array
(
  [array] => Array 
    ( 
      [0] => Array
        (
            [first_name] => Steve
            [last_name] => Lucas
            [age] => 12
        )

      [1] => Array
        (
            [first_name] => Lisa
            [last_name] => Newman
            [age] => 44
        )

      [2] => Array
        (
            [first_name] => Owen
            [last_name] => McDowell
            [age] => 36
        )

      [save] => Save
   )
)
Array
(
    [0] => Array
        (
            [first_name] => Steve
            [last_name] => Lucas
            [age] => 12
        )
//etc
 <form method="post" action="form.php">
    <label for="first_name">First Name:</label>
    <input type="text" name="0[first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="0[last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="0[age]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="1[first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="1[last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="1[age]" id="age" />
    <br />
    <br />
    <br />
    <label for="first_name">First Name:</label>
    <input type="text" name="2[first_name]" id="first_name" />
    <br />
    <label for="last_name">Last Name:</label>
    <input type="text" name="2[last_name]" id="last_nametext" />
    <br />
    <label for="age">Age:</label>
    <input type="text" name="2[age]" id="age" />
    <br />
    <input type="submit" name="save" id="save" value="Save" />
</form>