php - 该怎么去处理这个数组呢 保证插入数据准确入库??
本文介绍了php - 该怎么去处理这个数组呢 保证插入数据准确入库??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
有这样的一个数组结构:
array (size=3)
19 =>
array (size=4)
'pro_id' => string '44' (length=2)
'attr_id' => int 19
'attr_value' =>
array (size=1)
0 => string '12个月' (length=8)
'attr_price' =>
array (size=1)
0 => string '200' (length=3)
20 =>
array (size=4)
'pro_id' => string '44' (length=2)
'attr_id' => int 20
'attr_value' =>
array (size=1)
0 => string '按照5%计算' (length=14)
'attr_price' => null
18 =>
array (size=4)
'pro_id' => string '44' (length=2)
'attr_id' => int 18
'attr_value' =>
array (size=2)
0 => string '无发票0申报' (length=16)
1 => string '按发票额申报' (length=18)
'attr_price' =>
array (size=2)
0 => string '100' (length=3)
1 => string '200' (length=3)
数据表结构如下:
我想要的结果如上,求怎么处理呀?? 数据表结构
DROP TABLE IF EXISTS `dhd_product_attr`;
CREATE TABLE `dhd_product_attr` (
`pro_attr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`pro_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`attr_id` smallint(5) unsigned NOT NULL DEFAULT '0',
`attr_value` text NOT NULL,
`attr_price` varchar(255) NOT NULL COMMENT '该属性对应在产品原价格上要加的价格',
PRIMARY KEY (`pro_attr_id`),
KEY `pro_id` (`pro_id`),
KEY `attr_id` (`attr_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
该怎么处理这个数组呀??
解决方案
$array = ['你的数组'];
$insert = [];
foreach($array as $val){
foreach($val['attr_value'] as $key=>$attr_val){
$insert[]=[
'pro_id'=>$val['pro_id'],
'attr_id'=>$val['attr_id'],
'attr_value'=>$attr_val,
'attr_price'=>$val['attr_price'][$key],
]
}
}
//你这第一个个字段没看出来怎么确定 加到$insert 这个数组里就行
这篇关于php - 该怎么去处理这个数组呢 保证插入数据准确入库??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文