Обратите внимание, что это решение не будет производить заглавные буквы.
Используйте base_convert()
для преобразования в базу 36, которая будет использовать [a-z0-9].
<?php
// outputs a, b, c, ..., 2o, 2p, 2q
for ($i = 10; $i < 99; ++$i)
echo base_convert($i, 10, 36), "\n";
Учитывая последнее использованное число, вы можете преобразовать его обратно в целое число с intval()
увеличить его и преобразовать результат обратно в базу 36 с помощью base_convert()
.
<?php
$value = 'bc9z';
$value = intval($value, 36);
++$value;
$value = base_convert($value, 10, 36);
echo $value; // bca0
// or
echo $value = base_convert(intval($value, 36) + 1, 10, 36);