str_decrement
funkcja
Dekrementuje alfanumeryczny ciąg znaków: 'b'→'a', 'Ba'→'Az', 'b0'→'a9'. Rzuca ValueError dla 'a', 'A' lub '0'.
str_decrement(string $string): string
str_decrement (PHP 8.3+) zmniejsza wartość ciągu alfanumerycznego o jeden krok — jest dopełnieniem str_increment. Dekrementacja przebiega od prawej: Ba przechodzi w Az, b0 w a9, aa w z. Funkcja rzuca ValueError, jeśli string jest pusty, zawiera znaki spoza [a-zA-Z0-9], lub jeśli wynik byłby poniżej minimalnej wartości — 'a', 'A' i '0' nie mają wartości niższej w swoich zakresach i nie mogą być dekrementowane.
Obie funkcje (str_increment / str_decrement) zostały wprowadzone w PHP 8.3 jako jawna, bezpieczna alternatywa dla niejawnej inkrementacji/dekrementacji stringów operatorem ++/--.
<?php
declare(strict_types=1);
var_dump(str_decrement('b'));
// wynik:
// string(1) "a"
var_dump(str_decrement('Ba'));
// wynik:
// string(2) "Az"
var_dump(str_decrement('b0'));
// wynik:
// string(2) "a9"
var_dump(str_decrement('aa'));
// wynik:
// string(1) "z"
// ValueError dla wartości minimalnej:
try {
str_decrement('a');
} catch (\ValueError $e) {
echo $e->getMessage();
}
// wynik: str_decrement(): Argument #1 ($string) "a" is out of decrement range