Jak jste si ji₧ v p°edchozφm dφle mohli vÜimnout, ukßzali jsme si jednoduch² p°φklad, kter² nßm vypsal informace o nastavenφ PHP. Ji₧ v tomto p°φklad∞ si m∙₧ete vÜimnout znaΦek <? a ?>. Tyto znaΦky vymezujφ prostor, ve kterΘm se bude provßd∞t PHP k≤d. JednoduÜe °eΦeno (pro laiky), m∙₧ete to p°irovnat nap°φklad tagu <body></body>, do kterΘho vepisujeme veÜker² HTML k≤d. Nynφ si ukß₧eme vÜechny zp∙soby, jak zaΦlenit PHP k≤d do strßnek.
Nezapome≥te, ₧e vÜechny skripty musφ mφt koncovku .php, aby je mohl webov² server "vykonat"!
Jak jste si ji₧ mohli vÜimnout v PHP se odd∞lujφ jednotlivΘ p°φkazy st°ednφkem ( ; ) stejn∞ jako nap°φklad v Perlu. Chceme-li napsat dva p°φkazy m∙₧eme pou₧φt dvou variant:
<? echo "Jeden p°φkaz" ?> <? echo " Druh² p°φkaz" ?>
nebo
<? echo "Jeden p°φkaz"; echo " Druh² p°φkaz"; ?>
Op∞t jednoduÜe °eΦeno se jednß o mφsto, kde uchovßvßme hodnoty. S t∞mito hodnotami m∙₧eme nßsledn∞ pracovat. M∙₧eme prom∞nnΘ mezi sebou nßsobit, sΦφtat, spojovat texty atd.
Prom∞nnΘ zapisujeme pomocφ znaku $, za kter²m nßsleduje nßzev prom∞nnΘ.
Nßzev prom∞nnΘ musφ zaΦφnat pφsmenem nebo podtr₧φtkem, za kter²m nßsleduje libovoln² poΦet pφsmen, podtr₧φtek nebo Φφslic. Nßzvy bychom m∞li takΘ psßt bez diakritiky (hßΦk∙ a Φßrek) a v nßzvech nesmφme d∞lat mezery. PHP je takΘ citlivΘ na velikosti pφsmen v nßzvu prom∞nnΘ. Prom∞nnß $Test a prom∞nnß $test jsou dv∞ r∙znΘ prom∞nnΘ. VhodnΘ nßzvy jsou tedy:
<? $_Ahoj = "Vitej..."; $Cas = "18:12:20"; $id = 1; ?>
A nevhodn² nßzev prom∞nnΘ:
<? $12letadel = "Vitej..."; ?>
Hodnoty prom∞nn²ch m∙₧ou mφt nßsledujφcφ typy:
Na hodnoty prom∞nn²ch se m∙₧eme takΘ odkazovat (prom∞nnß se odkazuje na hodnotu jinΘ prom∞nnΘ).
<? $hodnota = 10; $hodnota2 = &$hodnota; echo $hodnota2; ?>
Ji₧ v p°edchozφch p°φkladech pou₧φvßme p°φkaz (funkci) echo, kterß umo₧≥uje vypsat obsah prom∞nnΘ nebo text, kter² se nachßzφ v zßvorkßch.
Hodnoty zapisujeme do uvozovek nebo apostrof∙. Rozdφl mezi uvozovkou a apostrofem je v tom, ₧e pokud vypφÜeme hodnotu prom∞nnΘ v uvozovkßch, zobrazφ se hodnota prom∞nnΘ, ovÜem pokud pou₧ijeme apostrofy, zobrazφ se nßzev prom∞nnΘ. VÜe si ukß₧eme na p°φklad∞:
<? $nazev = "Nßzev prom∞nnΘ"; // Dosadφ mφsto $nazev hodnotu tΘto prom∞nnΘ echo "Obsah prom∞nnΘ $nazev je $nazev"; // VypφÜe nßzev prom∞nnΘ echo 'Obsah prom∞nnΘ $nazev je $nazev'; ?>
Ji₧ zde najdou uplatn∞nφ tzv. escape sekvence (zp∞tnΘ lomφtko - /), kterΘ umo₧≥ujφ vypsat nßzev prom∞nnΘ a jejφ hodnotu.
<? $nazev = "Petr"; // Dosadφme zp∞tnΘ lomφtko p°ed nßzev prom∞nnΘ echo "Obsah prom∞nnΘ \$nazev je $nazev"; ?>
V nßsledujφcφ tabulce naleznete seznam dalÜφch u₧iteΦn²ch escape sekvencφ.
Sekvence | V²znam |
---|---|
\n | VypφÜe novou °ßdku. |
\r | V p°ekladu se jednß o "nßvrat vozφku". |
\t | VypφÜe tabulßtor. |
\\ | VypφÜe zp∞tnΘ lomφtko. |
\$ | VypφÜe znak dolaru. |
\" | VypφÜe znak uvozovky. |
Jednß se o celΘ Φφslo nab²vajφcφ hodnot od -2 147 483 648 do +2 147 483 647.
Jednß se o Φφslo s desetinnou Φßrkou nab²vajφcφ hodnot p°ibli₧n∞ od -1.8·10308 do +1.8·10308.
Jednß se o hodnotu True/False (pravda/nepravda). Tento typ m∙₧eme pou₧φt nap°φklad p°i porovnßvßnφ °et∞zc∙, o kterΘm si povφme v dalÜφch dφlech.
Pole je datov² typ, kter² m∙₧e obsahovat n∞kolik hodnot (string, integer, atd.). Tyto hodnoty jsou potΘ dostupnΘ pomocφ klφΦe (indexu), kter² se uvßdφ do hranat²ch zßvorek.
JednoduchΘ pole m∙₧eme vytvo°it nßsledovn∞:
<? $pole[] = "PHP"; $pole[] = "je"; $pole[] = "skv∞lΘ!"; ?>
Pokud nebude urΦeno jinak, jsou vÜechny klφΦe Φφslovßny od nuly. To znamenß, ₧e k prvnφ hodnot∞ (hodnot∞ PHP) se dostaneme pomocφ $pole[0].
<? $pole[] = "PHP"; $pole[] = "je"; $pole[] = "skv∞lΘ!"; echo $pole[0]; ?>
Jako klφΦ m∙₧eme pou₧φt nejen Φφslo, ale takΘ textov² °et∞zec. Zφskßme tak asociativnφ pole.
<? $pole["nazev"] = "PHP"; $pole["popis"] = " je skv∞l² programovacφ jazyk !"; ?>
Pole m∙₧eme inicializovat takΘ pomocφ nßsledujφcφ funkce:
<? $pole = Array("PHP", " je skv∞l² programovacφ jazyk !"); echo $pole[0]; ?>
Nebo m∙₧eme vytvo°it asociativnφ pole (tento zp∙sob m∙₧eme takΘ pou₧φt p°i urΦenφ vlastnφho nßzvu klφΦe):
<? $pole = Array("nazev" =>"PHP", "popis" => " je skv∞l² programovacφ jazyk !"); echo $pole["nazev"]; ?>
Pokud budeme chtφt zjistit poΦet prvk∙ pole, m∙₧eme vyu₧φt funkci Count(<<nazev pole>>). Pomocφ funkce Reset(<<nazev pole>>) p°esuneme ukazatel na prvnφ prvek pole. O pokroΦilejÜφ prßci s poli si povφme v dalÜφch dφlech.
N∞kdy se nßm m∙₧e stßt, ₧e pot°ebujeme zm∞nit typ prom∞nnΘ, nap°φklad string na typ integer. M∙₧eme tedy pou₧φt nßsledujφcφ k≤d:
<? $hodnota = 10; $hodnota_string = (string) $hodnota; ?>
Nebo m∙₧ete vyu₧φt funkce SetTyp(<<nßzev prom∞nnΘ>>,"<<typ>>"). Jako typ m∙₧eme pou₧φt string, int (integer), bool (boolean), float (double), array, object. Hodnoty v zßvorkßch urΦujφ nßzvy ve starÜφ verzi PHP (< 4.2.0).
V dob∞, kdy pφÜeme n∞jak² skript, m∙₧e nßm vÜe b²t jasnΘ (chßpeme jeho funkΦnost). ProblΘm nastßvß v p°φpad∞, ₧e mßme ve skriptu po urΦitΘ dob∞ provΘst ·pravy. Pomocφ komentß°∙ si m∙₧eme u vÜech funkcφ a p°φkaz∙ napsat poznßmky, kterΘ nßm v budoucnu princip skriptu objasnφ. Na v²b∞r mßme ze dvou druh∙ komentß°∙.
<? // Jednoduchß poznßmka na jeden °ßdek. $jmeno = "Petr"; echo $jmeno; ?>
<? /* Nßzev: Komentß° na vφce °ßdk∙ Autor: Petr Rympler E-mail: peta@webguru.cz Rok: 2002 */ $jmeno = "Petr"; echo $jmeno; ?>
Pro tento dφl to bude vÜe. V p°φÜtφm dφle si povφme n∞co o operßtorech a °φdφcφch strukturßch.