PHP range() from A to ZZ?

后端 未结 12 1163
不思量自难忘°
不思量自难忘° 2020-11-30 06:52

Is it possible to get a range with PHP from A to ZZ*?

a b c ... aa ... zx zy zz

For me this didn\'t work:

range(\'A\', \'ZZ\');
12条回答
  •  南方客
    南方客 (楼主)
    2020-11-30 07:22

    Just Try this- (tested working fine)

    function createColumnsArray($end_column, $first_letters = '')
    {
      $columns = array();
      $length = strlen($end_column);
      $letters = range('A', 'Z');
    
      // Iterate over 26 letters.
      foreach ($letters as $letter) {
          // Paste the $first_letters before the next.
          $column = $first_letters . $letter;
    
          // Add the column to the final array.
          $columns[] = $column;
    
          // If it was the end column that was added, return the columns.
          if ($column == $end_column)
              return $columns;
      }
    
      // Add the column children.
      foreach ($columns as $column) {
          // Don't itterate if the $end_column was already set in a previous itteration.
          // Stop iterating if you've reached the maximum character length.
          if (!in_array($end_column, $columns) && strlen($column) < $length) {
              $new_columns = createColumnsArray($end_column, $column);
              // Merge the new columns which were created with the final columns array.
              $columns = array_merge($columns, $new_columns);
          }
      }
    
      return $columns;
    }
    echo "
    ";
    print_r( createColumnsArray('BZ'));
    

    copied from http://php.net/range

提交回复
热议问题