PHP 8.4.1 Released!

str_increment

(PHP 8 >= 8.3.0)

str_incrementУвеличивает на единицу буквенно-цифровую строку

Описание

str_increment(string $string): string

Возвращает увеличенную буквенно-цифровую строку string, состоящую из символов в кодировке ASCII.

Список параметров

string

Входная строка.

Возвращаемые значения

Возвращает увеличенную буквенно-цифровую строку, состоящую из ASCII-символов.

Ошибки

Будет выброшено исключение ValueError, если входная строка string пустая.

Будет выброшено исключение ValueError, если входная строка string состоит не из ASCII-символов.

Примеры

Пример #1 Базовый пример использования str_increment()

<?php
$str
= 'ABC';
var_dump(str_increment($str));
?>

Результат выполнения приведённого примера:

string(3) "ABD"

Пример #2 Пример использования str_increment() с переносом (увеличением высшего разряда или разрядности)

<?php
$str
= 'DZ';
var_dump(str_increment($str));

$str = 'ZZ';
var_dump(str_increment($str));
?>

Результат выполнения приведённого примера:

string(2) "EA"
string(3) "AAA"

Смотрите также

  • str_decrement() - Уменьшает на единицу буквенно-цифровую строку

Добавить

Примечания пользователей 1 note

up
1
yarns_purport0n at icloud dot com
1 month ago
The strings are incremented per character and each character position can be one of 3 modes:
1. [A-Z] uppercase
2. [a-z] lowercase
3. [0-9] decimal

you can mix any combination of the modes and (at least in right to left languages like english) it always increments from the right overflowing leftwards
the mode/type of character that overflows remains the mode/type of the first (0 index) position.
so: input 'zZ9' & 'aaA0' is returned
so: input 'Z9z' & 'AA0a' is returned
so: input '9zZ' & '10aA' is returned

Example:
<?php
$str
= 'zZ9'; // overflows in lowercase
echo $str = str_increment($str).PHP_EOL; // aaA0
$str = 'Z9z'; // overflows in uppercase
echo $str = str_increment($str).PHP_EOL; // AA0a
$str = '9zZ'; // overflows in decimal
echo ($str = str_increment($str)); // 10aA
?>
To Top