PHPswich遍历

PHP swich中 再另写一个数据,number要
1,6,11一组
2,7,12,15,17,19一组
3,8,13,16,18一组
4,9,14一组
5,10一组
不知道该怎么遍历写

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; 
                            }
}

如果您需要将数据按照一定规则分组,可以使用多个switch语句或嵌套的if语句来实现。以下是一种可能的实现方式:

// 初始化各个部分的数组
$part1 = ['X' => [], 'Y' => []];
$part2 = ['X' => [], 'Y' => []];
$part3 = ['X' => [], 'Y' => []];
$part4 = ['X' => [], 'Y' => []];
$part5 = ['X' => [], 'Y' => []];
$part6 = ['X' => [], 'Y' => []];

foreach ($A_data as $code => $cumulative) { // 遍历原始数据
  // 解析编号后两位
  $number = intval(substr($code, -2)); 
  switch ($number) {
    case 1:
    case 6:
    case 11:
      $part1['X'][] = $code;
      $part1['Y'][] = $cumulative;
      break;
    case 2:
    case 7:
    case 12:
    case 15:
    case 17:
    case 19:
      $part2['X'][] = $code;
      $part2['Y'][] = $cumulative;
      break;
    case 3:
    case 8:
    case 13:
    case 16:
    case 18:
      $part3['X'][] = $code;
      $part3['Y'][] = $cumulative;
      break;
    case 4:
    case 9:
    case 14:
      $part4['X'][] = $code;
      $part4['Y'][] = $cumulative;
      break;
    case 5:
    case 10:
      $part5['X'][] = $code;
      $part5['Y'][] = $cumulative;
      break;
    default:
      // 如果编号不在1-19之间,可以忽略或者将其加入到part6中
      $part6['X'][] = $code;
      $part6['Y'][] = $cumulative;
      break;
  }
}

在这个示例中,我们使用了一个switch语句,根据编号后两位的数值将数据分组。对于每个分组,我们都创建了一个数组来存储对应的数据。在遍历原始数据时,如果数据的编号不在1-19之间,我们将其忽略或者将其加入到part6中。