suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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;

该怎么处理这个数组呀??

巴扎黑巴扎黑2768 Tage vor450

Antworte allen(4)Ich werde antworten

  • PHPz

    PHPz2017-05-16 13:12:51

    $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 这个数组里就行

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:12:51

    foreach把数组重组一下,改成对应数据库的格式

    Antwort
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:12:51

    就是不知道这代码该怎么重组呀

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:12:51

    简单粗暴 俩层foreach 或者使用一层foreach和list函数

    Antwort
    0
  • StornierenAntwort