Нужен буквенно-цифровой счет PHP от A001 до Z999

Нужен буквенно-цифровой счетчик PHP, который начинается с A001 и продолжается до Z999

Он начинается с A0001 и продолжается как A002, A003 .....

и после A999 - меняется на B001 и так далее до Z999

Как это может быть сделано...?

Может ли кто-нибудь здесь помочь мне?

заранее спасибо!!

1 ответ

Решение

Вы можете использовать два цикла foreach с range функция:

foreach (range('A', 'Z') as $letter) {
  foreach (range(1, 999) as $number) {
    echo $letter.str_pad($number, 3, '0', STR_PAD_LEFT)."\n";
  }
}

Редактировать: если у вас есть значение и вы хотите получить следующее, вы можете использовать функцию или метод, например так:

function next_value($current) {
    $letter = $current[0];
    $number = (int) substr($current, 1);

    if ($number == 999) {
      $letter++;
      $number = 1;
    }
    else {
      $number++;
    }

    return $letter.str_pad($number, 3, '0', STR_PAD_LEFT);
}

var_dump(next_value('A459')); // Returns A460
var_dump(next_value('A999')); // Returns B001
Другие вопросы по тегам