Php 将多个记录作为数组插入

Php 将多个记录作为数组插入,php,arrays,forms,Php,Arrays,Forms,我之所以尝试这样做,是因为我想序列化此数组并将其作为一个数据条目保存到数据库中。这可能吗?您只需将整个$\u POST序列化并保存即可 array( array( 'name'=> 'name1', 'email' => 'email1' ); array( 'name'=> 'name2', 'email' => 'email3' ); array( ... .... .... ); 或 要生成所需的结构,可以

我之所以尝试这样做,是因为我想序列化此数组并将其作为一个数据条目保存到数据库中。这可能吗?

您只需将整个
$\u POST
序列化并保存即可

array(

  array(
   'name'=> 'name1',
   'email' => 'email1'
  );

  array(
   'name'=> 'name2',
   'email' => 'email3'
  );

  array( ...
  ....
  ....
);


要生成所需的结构,可以执行以下操作:

serialize($_GET);
这给了你一些类似的东西:

$data = array();

foreach ($_POST['email'] as $id => $email) {
  $data[$id]['email'] = $email;
}

foreach ($_POST['name'] as $id => $name) {
  $data[$id]['name'] = $name;
}
更改您的命名:

Array
(
    [0] => Array
        (
            [email] => email1
            [name] => name1
        )

    [1] => Array
        (
            [email] => email2
            [name] => name2
        )

    [2] => Array
        (
            [email] => email3
            [name] => name3
        )

)

可以使用循环逻辑

$data = $_POST["myform"]
if($\u服务器['REQUEST\u METHOD']=='POST'){
foreach($\发布为$k=>$v){
if(is_数组($v)){
foreach($v作为$sk=>$sv){
$arr[$sk][$k]=$sv;
}
}
}
回声“;
印刷费($arr);
}

这不会让您将不同的输入名称分组在一起,而不是在名称/电子邮件、名称/电子邮件中。。。结构?当然,与其他可能发布的内容一样,如果你能做到的话,这种方法比在收到数据后重新排列数据要可靠得多
Array
(
    [0] => Array
        (
            [email] => email1
            [name] => name1
        )

    [1] => Array
        (
            [email] => email2
            [name] => name2
        )

    [2] => Array
        (
            [email] => email3
            [name] => name3
        )

)
<input name="myform[0][name]">
<input name="myform[0][email]">

<input name="myform[1][name]">
<input name="myform[1][email]">
$data = $_POST["myform"]
if($_SERVER['REQUEST_METHOD']=='POST'){
    foreach ($_POST as $k=>$v){
   if(is_array($v)){
       foreach ($v as $sk=>$sv){ 
                $arr[$sk][$k]=$sv;
        }
       }
    }
  echo "<pre>";
  print_r($arr);
 }