Speciální řídící znaky v PHP

24. 11. 2021

V PHP řetězcích mohou být obsaženy speciální řídící znaky, které mají v určitém kontextu různý význam a nechovají se nutně jako obyčejné znaky.

Řadu z nich budete již intuitivně znát. Některé jsou vyhrazeny pro speciální použití a jiné třeba pro znaky na klávesnici.

Zápis speciálních znaků

Speciální znaky se zapisují do dvojitých uvozovek.

Stačí tedy velmi jednoduše:

php
$message = "Hello\nworld.";

Předchozí kód obsahuje zalomení řádku mezi slovem Hello a world.

Tabulka speciálních znaků

Pokud je řetězec uzavřen ve dvojitých uvozovkách ("), bude PHP interpretovat následující escape sekvence jako speciální znaky:

Sekvence Význam
\n linefeed (LF nebo 0x0A (10) v ASCII)
\r carriage return (CR nebo 0x0D (13) v ASCII)
\t horizontal tab (HT nebo 0x09 (9) v ASCII)
\v vertical tab (VT nebo 0x0B (11) v ASCII)
\e escape (ESC nebo 0x1B (27) v ASCII)
\f form feed (FF nebo 0x0C (12) v ASCII)
\\ backslash
\$ dollar sign (znak dolaru)
\" double-quote (dvojitá uvozovka)
\[0-7]{1,3} posloupnost znaků odpovídající regulárnímu výrazu je znak v osmičkové notaci, který se v tichosti přeteče do bajtu. (např. "\400" === "\000")
\x[0-9A-Fa-f]{1,2} posloupnost znaků odpovídající regulárnímu výrazu je znak v hexadecimálním zápisu.
\u{[0-9A-Fa-f]+} posloupnost znaků vyhovující regulárnímu výrazu je kódový bod Unicode, který bude vypsán do řetězce jako reprezentace tohoto kódového bodu v UTF-8.

Stejně jako u řetězců s jednoduchými uvozovkami se při escapování jakéhokoli jiného znaku vypíše i zpětné lomítko.

Při ohraničení řetězců pomocí uvozovek nezapomeňte na fakt, že obsažené proměnné budou expandovány (vypsány hodnoty proměnných přímo do řetězce). Toto chování může být extrémně nebezpečné.

Jan Barášek
Jan BarášekVíce o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

AI konzultace & implementace

Pomohu vám zavést AI do vašeho projektu – od analýzy a návrhu řešení až po nasazení do produkce. Ušetřete čas, zjednodušte procesy a získejte konkurenční výhodu.

Domluvit konzultaci
Konzultant: Jan Barášek
Potřebujete poradit s PHP?

Nabízím trénink vývojářů, konzultace, školení a analýzu návrhových vzorů. Osobně v Praze nebo online.

Napište mi

Newsletter

Nejlepsi tipy a triky o PHP do Vaseho e-mailu. Clanky a novinky nejen ze sveta PHP a programovani.