Нужен буквенно-цифровой счет 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