PHP优化简化代码方法

想把这个代码更简化一点,不知道有没有更好的办法

  $result1 = $modelData->change($tableName);
                      $A_data = $result1[0];
                        $part1 = []; // 01-05部分数据
                        $part2 = []; // 06-10部分数据
                        $part3 = []; // 11-14部分数据
                        $part4 = []; // 15-16部分数据
                        $part5 = []; // 17-18部分数据
                        $part6 = []; // 19部分数据     
                        $part21 = []; // 01-05部分数据
                        $part22 = []; // 06-10部分数据
                        $part23 = []; // 11-14部分数据
                        $part24 = []; // 15-16部分数据
                        $part25 = []; // 17-18部分数据
                        foreach ($A_data as $code => $cumulative) { // 遍历原始数据
                            // 解析编号后两位
                            $number = intval(substr($code, -2));
                            switch ($number) {
                                case $number >= 1 && $number <= 5: // 01-05部分
                                    $part1['X'][] = $code;
                                    $part1['Y'][] = $cumulative;
                                    break;
                                case $number >= 6 && $number <= 10: // 06-10部分
                                    $part2['X'][] = $code;
                                    $part2['Y'][] = $cumulative;
                                    break;
                                case $number >= 11 && $number <= 14: // 11-14部分
                                    $part3['X'][] = $code;
                                    $part3['Y'][] = $cumulative;
                                    break;
                                case $number >= 15 && $number <= 16: // 15-16部分
                                    $part4['X'][] = $code;
                                    $part4['Y'][] = $cumulative;
                                    break;
                                case $number >= 17 && $number <= 18: // 17-18部分
                                    $part5['X'][] = $code;
                                    $part5['Y'][] = $cumulative;
                                    break;
                                case $number = 19: // 19部分
                                    $part6['X'][] = $code;
                                    $part6['Y'][] = $cumulative;
                                    break; 
                            }
                            if ($number == 1 or $number == 6 or $number == 11) {
                              $part21['X'][] = $code;
                              $part21['Y'][] = $cumulative;
                            }
                            else if ($number == 2 or $number == 7 or $number == 12 or $number == 15 or $number == 17 or $number == 19) {
                              $part22['X'][] = $code;
                              $part22['Y'][] = $cumulative;
                            }
                            else if ($number == 3 or $number == 8 or $number == 13 or $number == 16 or $number == 18) {
                              $part23['X'][] = $code;
                              $part23['Y'][] = $cumulative;
                            }
                            else if ($number == 4 or $number == 9 or $number == 14) {
                              $part24['X'][] = $code;
                              $part24['Y'][] = $cumulative;
                            }
                            else if ($number == 5 or $number == 10) {
                              $part25['X'][] = $code;
                              $part25['Y'][] = $cumulative;
                            }
     
                        }

                      // 第二次查询
                      $result2 = $modelData->change($tableName);
                      $B_data = $result2[1];
                        $part7 = [];  
                        $part8 = [];  
                        $part9 = []; 
                        $part10 = [];  
                        $part11 = [];  
                        $part12 = [];
                        $part26 = [];  
                        $part27 = [];  
                        $part28 = []; 
                        $part29 = [];  
                        $part30 = [];             
                        foreach ($B_data as $code => $variation) {  
                            // 解析编号后两位
                            $number = intval(substr($code, -2));
                            switch (true) {
                                case $number >= 1 && $number <= 5:  
                                    $part7['X'] = ['1000','1500','2000','2500','3000','3500'];
                                    $part7['Y'][] = $variation;
                                    break;
                                case $number >= 6 && $number <= 10: 
                                    $part8['X'] = ['1000','1500','2000','2500','3000','3500'];
                                    $part8['Y'][] = $variation;
                                    break;
                                case $number >= 11 && $number <= 14:  
                                    $part9['X'] = ['1000','1500','2000','2500','3000','3500'];
                                    $part9['Y'][] = $variation;
                                    break;
                                case $number >= 15 && $number <= 16:  
                                    $part10['X'] = ['1000','1500','2000','2500','3000','3500'];
                                    $part10['Y'][] = $variation;
                                    break;
                                case $number >= 17 && $number <= 18:  
                                    $part11['X'] = ['1000','1500','2000','2500','3000','3500'];
                                    $part11['Y'][] = $variation;
                                    break;
                                case $number = 19:  
                                    $part12['X'] = ['1000','1500','2000','2500','3000','3500'];
                                    $part12['Y'] = $variation;
                                    break;
                            }
                            if ($number == 1 or $number == 6 or $number == 11) {
                              $part26['X'] = ['1000','1500','2000','2500','3000','3500'];
                              $part26['Y'][] = $variation;
                            }
                            else if ($number == 2 or $number == 7 or $number == 12 or $number == 15 or $number == 17 or $number == 19) {
                              $part27['X'] = ['1000','1500','2000','2500','3000','3500'];
                              $part27['Y'][] = $variation;
                            }
                            else if ($number == 3 or $number == 8 or $number == 13 or $number == 16 or $number == 18) {
                              $part28['X'] = ['1000','1500','2000','2500','3000','3500'];
                              $part28['Y'][] = $variation;
                            }
                            else if ($number == 4 or $number == 9 or $number == 14) {
                              $part29['X'] = ['1000','1500','2000','2500','3000','3500'];
                              $part29['Y'][] = $variation;
                            }
                            else if ($number == 5 or $number == 10) {
                              $part30['X'] = ['1000','1500','2000','2500','3000','3500'];
                              $part30['Y'][] = $variation;
                            }
                        } 


                       //第三次查询
                      $result3 = $modelData->change($tableName);
                      $C_data = $result3[2];
                        $part13 = []; // 01-05部分数据
                        $part14 = []; // 06-10部分数据
                        $part15 = []; // 11-14部分数据
                        $part16 = []; // 15-16部分数据
                        $part17 = []; // 17-18部分数据
                        $part18 = []; // 19部分数据      
                        $part31 = []; // 01-05部分数据
                        $part32 = []; // 06-10部分数据
                        $part33 = []; // 11-14部分数据
                        $part34 = []; // 15-16部分数据
                        $part35 = []; // 17-18部分数据              
                        foreach ($C_data as $code => $level) { // 遍历原始数据
                            // 解析编号后两位
                            $number = intval(substr($code, -2));
                            switch (true) {
                                case $number >= 1 && $number <= 5: // 01-05部分
                                    $part13['X'] = ["3000","3080","3160","3240","3320","3400"];
                                    $part13['Y'][] = $level;
                                    break;
                                case $number >= 6 && $number <= 10: // 06-10部分
                                    $part14['X'] = ["3000","3080","3160","3240","3320","3400"];
                                    $part14['Y'][] = $level;
                                    break;
                                case $number >= 11 && $number <= 14: // 11-14部分
                                    $part15['X'] = ["3000","3080","3160","3240","3320","3400"];
                                    $part15['Y'][] = $level;
                                    break;
                                case $number >= 15 && $number <= 16: // 15-16部分
                                    $part16['X'] = ["3000","3080","3160","3240","3320","3400"];
                                    $part16['Y'][] = $level;
                                    break;
                                case $number >= 17 && $number <= 18: // 17-18部分
                                    $part17['X'] = ["3000","3080","3160","3240","3320","3400"];
                                    $part17['Y'][] = $level;
                                    break;
                                case $number = 19: // 19部分
                                    $part18['X'] = ["3000","3080","3160","3240","3320","3400"];
                                    $part18['Y'] = $level;
                                    break;
                            }
                             if ($number == 1 or $number == 6 or $number == 11) {
                              $part31['X'] = ["3000","3080","3160","3240","3320","3400"];
                              $part31['Y'][] = $level;
                            }
                            else if ($number == 2 or $number == 7 or $number == 12 or $number == 15 or $number == 17 or $number == 19) {
                              $part32['X'] = ["3000","3080","3160","3240","3320","3400"];
                              $part32['Y'][] = $level;
                            }
                            else if ($number == 3 or $number == 8 or $number == 13 or $number == 16 or $number == 18) {
                              $part33['X'] = ["3000","3080","3160","3240","3320","3400"];
                              $part33['Y'][] = $level;
                            }
                            else if ($number == 4 or $number == 9 or $number == 14) {
                              $part34['X'] = ["3000","3080","3160","3240","3320","3400"];
                              $part34['Y'][] = $level;
                            }
                            else if ($number == 5 or $number == 10) {
                              $part35['X'] = ["3000","3080","3160","3240","3320","3400"];
                              $part35['Y'][] = $level;
                            }
                        }

        return view("index/safty/planes/".$type."_".$module."_".$action."_".$plane, compact('left','right'))->with('data', [])->with('instruments_name', 'xxxxx')->with('part1', json_encode($part1, true))->with('part2', json_encode($part2, true))->with('part3', json_encode($part3, true))->with('part4', json_encode($part4, true))->with('part5', json_encode($part5, true))->with('part6', json_encode($part6, true))->with('part7',json_encode($part7,true))->with('part8',json_encode($part8,true))->with('part9',json_encode($part9,true))->with('part10',json_encode($part10,true))->with('part11',json_encode($part11,true))->with('part12',json_encode($part12,true))->with('part13',json_encode($part13,true))->with('part14',json_encode($part14,true))->with('part15',json_encode($part15,true))->with('part16',json_encode($part16,true))->with('part17',json_encode($part17,true))->with('part18',json_encode($part18,true))->with('part21',json_encode($part21,true))->with('part22',json_encode($part22,true))->with('part23',json_encode($part23,true))->with('part24',json_encode($part24,true))->with('part25',json_encode($part25,true))->with('part26',json_encode($part26,true))->with('part27',json_encode($part27,true))->with('part28',json_encode($part28,true))->with('part29',json_encode($part29,true))->with('part30',json_encode($part30,true))->with('part31',json_encode($part31,true))->with('part32',json_encode($part32,true))->with('part33',json_encode($part33,true))->with('part34',json_encode($part34,true))->with('part35',json_encode($part35,true));
                  }
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

百度