Řetězcem se nazývá jakákoli posloupnost znaků - slovo, věta, ale i delší text. Vzhledem k tomu, že většinu obsahu stránek tvoří texty, jsou příkazy pro práci s řetězci často zapotřebí, například při kontrole zadaných údajů, vyhledávání textu a podobně.
S řetězcem je možné také pracovat jako s polem znaků (jakoby očíslovanými písmeny), indexy jednotlivých znaků se zapisují do hranaté závorky a jsou číslované od nuly. Například:
$a="kolotoč"; //do proměnné $a uložíme slovo kolotoč, protože je to řetězec, musí být v uvozovkách
echo $a[0]; //vypíše písmeno k, písmena řetězce jsou číslovaná od nuly
$a[3]="e"; //čtvrté písmeno proměnné $a bude nahrazeno písmenem e, v $a bude tedy uloženo slovo koletoč
Pilnější studenti si nejspíš vzpomenou na FOR cyklus z minulé lekce, pro práci s řetězcem coby polem znaků bychom samozřejmě tento cyklus mohli také využívat. Častěji ale programátoři PHP využívají speciální příkazy (procedury, funkce) pro práci s řetězci. Těchto příkazů je mnoho, kompletní přehled je možné najít v manuálu PHP, my uvedeme jen nejčastěji používané.
Nejprve si z úvodních lekcí připomene operátor . (tečka) pro spojování řetězců. Zkuste odhadnout, co se vypíše následujícími příkazy:
$a="maly "; $b="velky "; echo "$a.$b <br />";
$c="muz";
$d=$a.$b.$c;
echo $d;
Další používané příkazy pro práci s řetězci jsou například:
strlen($str) - délka řetězce, například echo strlen("kladivo"); vypíše číslo 7
strpos($str1,$str2) - určení první pozice řetězce $str2 v řetězci $str1, například $a="velbloud"; echo strpos($a,"l"); vypíše číslo 2 (znaky jsou číslované od nuly)
substr($str,zacatek,delka); - výběr podřetězce od daného počátku dané délky, například $a="velbloud"; echo substr($a,3,5); vypíše řetězec bloud
substr_count ($str1,$str2) - určuje počet výskytů řetězce $str2 v řetězci $str1, například echo substr_count("dromedar","r");
vypíše číslo 2
Partnerský test ze 6. lekce upravte tak, aby uživatelé místo čísel zadávali přímo jména osob. Užitím poslední z uvedených funkcí bude řešení snadné. Trochu složitější bude výpočet výsledného čísla pokud první součet bude dvojciferný, budete potřebovat operaci % (zbytek po dělení - viz 2. lekce).
Název školy: | Základní škola, Hradec Králové, M. Horákové 258 |
Název projektu: | EU peníze školám |
Číslo projektu: | CZ.1.07/1.4.00/21.2575 |
Téma: | Programování v PHP |
Název: | VY_32_INOVACE_09_10A_PHP9 |
Autor: | Pavel Petr |