Помогите понять алгоритм работы автоинкремента(autoincrement operator), применительно к строкам
Приведу пример. Допустим, есть код:
$a = "A9"; print ++$a, "\n";
$a = "bz"; print ++$a, "\n";
$a = "Zz"; print ++$a, "\n";
$a = "z9"; print ++$a, "\n";
$a = "9z"; print ++$a, "\n";
Почему вывод будет таким:
B0
ca
AAa
aa0
10
А не таким:
B0
ca
Aa
a0
0a
Ответы (1 шт):
Автор решения: 69 420 1970
→ Ссылка
Если переменная использовалась только в строковом контексте, имела значение, и не явлалась пустой строкой, и соответствовала шаблону:
/^[a-zA-Z][0-9]$/
то автоинкремент будет выполняться в пределах своего диапазона с добавлением символа (с переносом):