$val) // 去除空格 { $val = str_replace('_', '', $val); // 替换特殊字符 $val = str_replace('@', '', $val); // 替换特殊字符 $val = trim($val); if(empty($val)) unset($post_items[$key]); else $post_items[$key] = $val; } $db_items = $model->where("spec_id = $id")->getField('id,item'); // 两边 比较两次 /* 提交过来的 跟数据库中比较 不存在 插入*/ foreach($post_items as $key => $val) { if(!in_array($val, $db_items)) $dataList[] = array('spec_id'=>$id,'item'=>$val); } // 批量添加数据 $dataList && $model->insertAll($dataList); /* 数据库中的 跟提交过来的比较 不存在删除*/ foreach($db_items as $key => $val) { if(!in_array($val, $post_items)) { // SELECT * FROM `tp_spec_goods_price` WHERE `key` REGEXP '^11_' OR `key` REGEXP '_13_' OR `key` REGEXP '_21$' M("SpecGoodsPrice")->where("`key` REGEXP '^{$key}_' OR `key` REGEXP '_{$key}_' OR `key` REGEXP '_{$key}$' or `key` = '{$key}'")->delete(); // 删除规格项价格表 M("SpecItem")->where('id='.$key)->delete(); // 删除规格项 } } } }