gpt4 book ai didi

php - 使用多数组插入数据

转载 作者:行者123 更新时间:2023-11-29 14:28:26 26 4
gpt4 key购买 nike

场景是

原始来源看起来像(它没有属性 email 、 name...等):

a@a.com          leo
foodil@g.com NULL

我想插入这样的记录:

首先,我有一个需要插入的数据字段的数组

 $field = Array ( [0] => Email [1] => Name ) 

其次,我有一组邮件

$mail = Array ( [0] => a@a.com [1] => foodil@g.com )

================================================== ===============================

最后,我有一个多维数组,其中包含数据字段,例如姓名,

$set = Array ( [1] => Array ( [1] => leo [4] => NULL ) ) 

但是,它可以是多个字段,例如。它也可以有一个电话字段(还有地址、性别……等等),那么它将是:

它是随机索引,因为计数跳过了邮件列

例如。

leo     a@a.com          4343343
NULL foodil@g.com 3453343


$field = Array ( [0] => Email [1] => Name [2] => Phone )

$set = Array ( [0] => Array ( [1] => leo [4] => NULL ) [2] => Array ( [1] => 4343343 [4] => 3453343 ))

================================================== ===============================

问题是,这样的场景如何插入呢? :查询应该如下所示

并且邮件会被测试,只有是真的,才插入。例如。 a@a.com 无效,那么我必须跳过 leo 和 4343343

$query="INSERT INTO subscriber (Email,Name,Phone) VALUES ($mail[] , $set[][], $set[][])";

最佳答案

使用它会给出二维数组。获取数组后,进行 foreach 循环并插入数据库。

$field = array ( '0' => 'Email', '1' => 'Name',  '2' =>'Phone' ) ;
$mail = array ( '0' => 'a@a.com', '1' => 'foodil@g.com' );
$set = array ( '0' => array ( '1' => 'leo', '4' => NULL ), '2' => array ( '1' => '4343343', '4' => '3453343' )) ;

$res = array();
$key1= array_keys($mail);
foreach($key1 as $a=>$key){
if(array_key_exists($key, $set)){
$res[$a]['Email'] =$mail[$key];
$res[$a]['Name'] = $set[$key]['1'];
$res[$a]['Phone'] = $set[$key]['4'];
unset($set[$key]);
}else{
$res[$a]['Email'] =$mail[$key];
$res[$a]['Name'] = '';
$res[$a]['Phone'] = '';
}
}
$total = count($res);
foreach($set as $q){
$res[$total]['Email'] ='';
$res[$total]['Name'] = $q[1];
$res[$total]['Phone'] = $q[4];
$total++;
}

关于php - 使用多数组插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com