Рубрики
PHP

Сгенерировать последовательность символов от A до … (ZZ)

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

print_r( createColumnsArray('BZ'));

https://stackoverflow.com/questions/14278603/php-range-from-a-to-zz

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *