Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Inkrementacja i dekrementacja

poniedziałek,

Inkrementacja i dekrementacja

Operatory inkrementacji i dekrementacji występują w wielu językach programowania, także w języku PHP. Inkrementacja (łac. incrementum, wzrost) powoduje zwiększenie wartości argumentu o jeden, dekrementacja (łac. decrementum, ubywanie, ubytek) zmniejsza wartość o jeden. Operatory zwiększania i zmniejszania wpływają tylko na liczby i łańcuchy. Występują w czterech postaciach: postinkrementacji, preinkrementacji, postdekrementacji i predekrementacji. Przedrostek „pre” oznacza, że operacja zostanie wykonana przed innymi operacjami w wyrażeniu, „post” zostanie wykonane po wyliczeniu wartości wyrażenia.

Inkrementacja

Operator inkrementacji to dwa znaki plus (++).

$i = 5;
$i++;

echo $i;  // 6

Poniżej zaprezentowano równoważną operację zrealizowaną bez użycia operatora inkrementacji.

$i = 5;
$i = $i + 1;

echo $i; // 6

Dekrementacja

Operator dekrementacji to dwa znaki minus (--).

$i = 5;
$i--;

echo $i; // 4

W kolejnym przykładzie zaprezentowano równoważną operację zrealizowaną bez użycia operatora dekrementacji.

$i = 5;
$i = $i - 1;

echo $i; // 4

Post i pre

Operatory inkrementacji i dekrementacji występują w czterech postaciach: postinkrementacji, preinkrementacji, postdekrementacji i predekrementacji.

$i = 5;
echo $i++; // 5
echo $i; // 6

W pierwszym wywołaniu echo wyświetli się liczba 5, ponieważ zastosowano postinkrementację. Najpierw wykonana została instrukcja echo, a dopiero później wartość zmiennej została zwiększona o jeden, co jest widoczne w drugim wywołaniu instrukcji echo.

$i = 5;
echo ++$i; // 6
echo $i; // 6

Przy zastosowaniu preinkrementacji obydwa wywołania instrukcji echo wyświetlą liczbę 6.

Podobne różnice występują podczas korzystania z postdekrementacji i predekrementacji.

Inkrementacja i łańcuchy znaków

Operator inkrementacji może wpływać także na zmienne znakowe. Wartość zmiennej zmienia się zgodnie z kolejnością znaków w tablicy ASCII.

$i = 'a';
echo ++$i; // b

Inkrementację można stosować także na łańcuchu kilku znaków.

$i = 'ckziu-01';
echo ++$i; // ckziu-02

Inkrementacja wykonywana jest „od końca”, w przykładzie „zwiększenie” dotyczy ostatniego znaku.

$i = '1-ckziu';
echo ++$i; // 1-ckziv

Próba zmniejszania zmiennej znakowej jest ignorowana przez interpreter, w przypadku łańcuchów znaków działa jedynie inkrementacja.

$i = 'ckziu-2';
echo --$i; // ckziu-2
Artykuł: Teoria emocji kolorów

Teoria emocji kolorów

Artykuł: DRAM Speculative Leadoff

DRAM Speculative Leadoff

Artykuł: Burst Mode DMA

Burst Mode DMA

Artykuł: Tryby DMA

Tryby DMA

Artykuł: DMA w kontekście historycznym

DMA w kontekście historycznym

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły