Funkce substr

Funkce substr vyjme a vrátí podřetězec z řetězce. Samotný řetězec přitom zůstane nezměněn. Prvním parametrem funkce přijímá řetězec, druhým - pozici znaku, odkud se má začít vyjímat, a třetím - počet znaků. Mějte na paměti, že číslování znaků řetězce začíná od nuly.

Druhý parametr může být záporný - v tomto případě začne počítání od konce řetězce, přičemž poslední znak bude mít číslo -1.

Třetí parametr lze vynechat - v tomto případě dojde k odříznutí až do konce řetězce.

Funkce správně pracuje pouze se znaky latinky (jednobajtovými znaky).

Syntaxe

phpsubstr(string $string, int $offset, ?int $length = null): string

Příklad

Vyjměme 3 znaky z řetězce od pozice 1 (od druhého znaku, protože první má číslo 0):

php<?php
  echo substr('abcde', 1, 3);
?>

Výsledek provedení kódu:

php'bcd'

Příklad

Vyjměme všechny znaky až do konce řetězce, počínaje druhým (ten má číslo 1):

php<?php
  echo substr('abcde', 1);
?>

Výsledek provedení kódu:

php'bcde'

Příklad

Vyjměme třetí a druhý znak od konce, k tomu určeme začátek výřezu -3 (to je číslo třetího znaku od konce), a počet znaků - 2:

php<?php
  echo substr('abcde', -3, 2);
?>

Výsledek provedení kódu:

php'cd'

Příklad

Vyjměme 2 poslední znaky, k tomu určeme pozici předposledního znaku (to je -2), a třetí parametr neuvedeme - v tomto případě dojde k odříznutí až do konce řetězce:

php<?php
  echo substr('abcde', -2);
?>

Výsledek provedení kódu:

php'de'

Příklad

Vyjměme poslední znak:

php<?php
  echo substr('abcde', -1);
?>

Výsledek provedení kódu:

php'e'

Viz také

  • funkci substr_replace,
    která vyjme část řetězce a nahradí ji jinou