str_increment / str_decrement în PHP

Trece un text alfanumeric la valoarea următoare (a devine b, Az devine Ba) sau, cu str_decrement, la cea anterioară.

Sintaxă
str_increment(string $string): string

Ce face str_increment / str_decrement

str_increment crește ultimul caracter al unui text format din litere englezești și cifre, cu transport spre stânga, ca la numărare: "a9" devine "b0", "Zz" devine "AAa". Literele mari rămân mari, cele mici rămân mici.

str_decrement face operația inversă. Ambele au apărut în PHP 8.3, ca înlocuitor clar pentru $text++ pe texte, comportament care este învechit. Un text gol sau cu alte caractere produce ValueError; la fel str_decrement pe "a" sau "0".

Parametri

Parametru Descriere
$string Un text nevid, doar cu litere a-z, A-Z și cifre.

Ce returnează

Textul următor (respectiv anterior).

Exemple

Exemplul 1: Creștere și scădere

<?php
foreach (["a", "z", "a9", "Zz", "C99"] as $text) {
    echo "$text => " . str_increment($text) . "\n";
}
echo str_decrement("b0") . " " . str_decrement("Ba");

Rezultat

a => b
z => aa
a9 => b0
Zz => AAa
C99 => D00
a9 Az

Exemplul 2: Coduri de serie consecutive

<?php
$cod = "AA8";

for ($i = 0; $i < 4; $i++) {
    $cod = str_increment($cod);
    echo $cod . " ";
}

Rezultat

AA9 AB0 AB1 AB2

Greșeli frecvente

  • Dai un text cu cratimă sau spațiu, de exemplu "RO-1". Primești ValueError: incrementează doar partea alfanumerică.

Comenzi înrudite

  • chr / ord: chr transformă un cod numeric (0-255) în caracter, iar ord face inversul: dă codul primului octet al unui text.
  • str_pad: Completează un text până la o anumită lungime, adăugând caractere la dreapta, la stânga sau pe ambele părți.