insertGetId(['code' => $arr[0], 'pid' => $parent_arr[$front2], 'name' => $arr[1]]); $parent_arr[$front4] = $insert_id; //对直辖市不做省直辖县处理,如:重庆市 $parent_arr[$front2] = $insert_id; } $last4 = substr($line, 2, 4); //区划码后4位 $arr = preg_split('/\s+/', $line); if (count($arr) !== 2) continue; if ($last4 == '0000') { $insert_id = DB::table('areas')->insertGetId(['code' => $arr[0], 'pid' => 0, 'name' => $arr[1]]); $parent_arr[$front2] = $insert_id; } else if ($last2 == '00') { $insert_id = DB::table('areas')->insertGetId(['code' => $arr[0], 'pid' => $parent_arr[$front2], 'name' => $arr[1]]); $parent_arr[$front4] = $insert_id; } else { //考虑到省直辖县级市情况,如:海南琼海市、湖北仙桃市等,但重庆市的省辖县除外(已在上面判断直辖市逻辑中做处理) $parent_id = $parent_arr[$front4] ?? $parent_arr[$front2]; DB::table('areas')->insertGetId(['code' => $arr[0], 'pid' => $parent_id, 'name' => $arr[1]]); } } } else { return 'open file fail!'; } return 'success'; }}