Základy PHP. Josef Podstata. KTE/IZTT - Zpracování textu, tabulek a prezentací. Univerzita Palackého v Olomouci

Podobné dokumenty
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Algoritmizace a programování

5 Přehled operátorů, příkazy, přetypování

PHP tutoriál (základy PHP snadno a rychle)

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Programování v jazyce JavaScript

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Algoritmizace a programování

Programovací jazyk Pascal

6 Příkazy řízení toku

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

6. Příkazy a řídící struktury v Javě

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Zápis programu v jazyce C#

MAXScript výukový kurz

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Řídicí struktury. alg3 1

Datové typy strana 29

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

2 Datové typy v jazyce C

Sada 1 - PHP. 03. Proměnné, konstanty

Sada 1 - Základy programování

Jazyk C# a platforma.net

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Skripty - úvod. Linux - skripty 2

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Vícerozměrná pole. Inicializace pole

Programování v jazyce JavaScript

VISUAL BASIC. Práce se soubory

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

První kapitola úvod do problematiky

Regulární výrazy. Vzory

PSK3-9. Základy skriptování. Hlavička

Prezentace a vysvětlení programového prostředí NXC

LEKCE 6. Operátory. V této lekci najdete:

Úvod do programovacích jazyků (Java)

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

Základy programování (IZP)

Stručný návod k programu Octave

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Vstupní požadavky, doporučení a metodické pokyny

Základy algoritmizace a programování

Inovace bakalářského studijního oboru Aplikovaná chemie

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

Úvod do programování. Lekce 1

Operátory. Základy programování 1 Tomáš Kühr

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

Základy algoritmizace a programování

Tabulkový procesor. Základní rysy

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

PHP. 1. Úvod do PHP. 2. Základy PHP

Algoritmizace a programování

Funkce, podmíněný příkaz if-else, příkaz cyklu for

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

Algoritmizace a programování

7. Datové typy v Javě

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Sekvenční a podmíněné provádění

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DUM 06 téma: Tvorba makra pomocí VBA

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Part 1

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Základy PERLu snadno a rychle

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

PROGRAMOVÁNÍ V SHELLU

Programování. Bc. Veronika Tomsová

VY_32_INOVACE_08_2_04_PR

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Transkript:

Základy PHP Josef Podstata KTE/IZTT - Zpracování textu, tabulek a prezentací Univerzita Palackého v Olomouci

Tento výukový text slouží k seznámení se základy vývoje dynamických webových stránek za použití jazyka PHP. Pro pochopení látky je doporučeno znát alespoň základy jazyku HTML. Text byl zpracován v Microsoft Word for Mac (0) za účelem semestrálního projektu do předmětu KTE/IZTT vyučovaného na Univerzitě Palackého v Olomouci. Obsah. Úvod.... Struktura.... Proměnné, datové typy.... Pole.... Řetězce... 0. Konstanty, komentáře.... Operátory, speciální znaky.... Podmínky, logické výrazy.... Cykly... 0. Funkce... Zdroje jakpsatweb.cz tvorba-webu.cz cs.wikipedia.org en.wikipedia.org PHP a MySQL - Michael Kofler, Bernd Öggl

. Úvod PHP (zkratka Hypertext Preprocessor) je skriptovací, objektově orientovaný programovací jazyk se syntaxí podobnou například jazykům C nebo Java. Byl vyvinut v roce k tomu, aby se statické HTML stránky obohatily o dynamičnost. Při jeho použití pro dynamické stránky jsou skripty prováděny na straně serveru. Je multiplatformní, takže skripty lze většinou přenášet bez jakýchkoli úprav mezi všemi operačními systémy. PHP je nejrozšířenějším skriptovacím jazykem pro web. PHP má tu zvláštnost, že jeho zdrojový kód se vkládá přímo do HTML dokumentu. Přitom je PHP kód zřetelně oddělený od HTML kódu. Protože k instalaci a nastavení vlastního serveru na osobním počítači by byl potřeba velice obsáhlý návod, tyhle kroky přeskočíme a budeme předpokládat, že všechny naše PHP dokumenty vkládáme přímo na nějaký už fungující server. Tak se budeme moci soustředit pouze na PHP.

. Struktura Tady je malý příklad, ve kterém ukážeme umístění kódu PHP a jeho strukturu. Dokument v PHP by mohl vypadat například takto: 0 <html> <head> <title>hello World v PHP</title> </head> <body> echo "<p>hello World!</p>"; </body> </html> Když tuto stránku zavoláme pomocí prohlížeče, předá server celý soubor ke zpracování interpretu PHP. Ten vyhodnotí část začínající (. řádek) a končící (. řádek) a nahradí ji výstupem z interpretu. Zbylá část souboru se nezmění. Poté je výsledný soubor předán serveru a ten jej předá klientovi (prohlížeči). V našem případě by se celá PHP část vyhodnotila na <p>hello World!</p>, protože příkaz echo slouží pro vypisování. V prohlížeči bychom pak uviděli pouze napsané "Hello world". Identifikace PHP kódu: echo blah; Standartní značky <? echo blah; Krátký zápis <script language="php"> Dlouhý zápis echo blah; </script> <% echo blah; %> Verze ASP První a třetí zápis fungují vždy, zatímco krátký zápis a tvary ASP pouze pokud máte správně nastaven program PHP. Proto dále budeme používat jen první způsob zápisu.

. Proměnné, datové typy Pod pojmem proměnná si můžeme představit vyhrazené místo v paměti, které se chová jako úložiště nějaké informace. V PHP začíná název proměnné vždy znakem dolaru ($), v názvu se mohou vyskytovat pouze znaky ASCII, číslice a znak podtržítka. Zároveň za znakem $ nesmí následovat číslice. V PHP se při deklarování proměnné nemusí uvést její typ (jako ve spoustě programovacích jazyků). PHP podle obsahu proměnné většinou sám pozná, o jaký typ se jedná. PHP rozlišuje osm základních datových typů: boolean (bool) může nabývat dvou hodnot - TRUE nebo FALSE integer (int) kladné i záporné celočíselné hodnoty, obvykle v rozsahu dvou miliard float kladné i záporné hodnoty s plovoucí desetinnou čárkou string textový řetězec, může obsahovat znaků array pole uchovává několik prvků, prvky můžou být proměnné i další pole object může obsahovat různé prvky PHP, např. proměnné, konstanty či funkce resource zdroj je speciální typ, který odkazuje na vnější zdroj NULL zvláštní datový typ, který nemá žádnou hodnotu Název proměnné v PHP musí začínat znakem $, hodnotu do proměnné přiřadíme znaménkem = (rovná se). Každý řádek (příkaz) musí končit středníkem. Vše si ukážeme na následujícím kódu: 0 $cislo_ = ; $cislo_ =.; $retezec = "Vysledek souctu: "; echo $retezec; echo $cislo_+$cislo_."\n"; $cislo_ = (int) $cislo_; echo "cislo_ je: ".$cislo_;

Na druhém řádku deklarujeme proměnnou $cislo_ a přiřadíme mu hodnotu (PHP samo rozpozná celé číslo - int). Na třetím řádku to samé s proměnnou $cislo_ a hodnotou. (číslo s řadovou čárkou - float). Na čtvrtém řádku vložíme do proměnné $retezec textový řetězec (string) "Vysledek souctu: ". Pátý řádek je vynechaný pouze pro přehlednost. Na šestém a sedmém vypisujeme pomocí echo. První co se vypíše je proměnná $retezec, která se vyhodnotí na text "Vysledek souctu: ", poté chceme vypsat výsledek součtu proměnných $cislo_ a $cislo_, tedy, ( +,). PHP si samo poradí s typem výsledku. I když jsme sčítali typy int a float, výsledek je typu float. Na odřádkování slouží "\n", tedy další výpis bude pokračovat na dalším řádku. Více hodnot v příkazu echo oddělujeme tečkou, resp. tečka slouží ke sloučení několika řetězců (i mimo echo). Někdy je potřeba typ proměnné změnit manuálně, tzv. přetypovat. Nový typ proměnné se napíše do kulatých závorek jako na devátém řádku. Tím, že budeme chtít přetypovat číslo, na celočíselný typ int, se číslo nezaokrouhlí, pouze ztratí číslo svou desetinnou část. V proměnné $cislo_ bude tedy hodnota a díky příkazu echo na jedenáctém řádku ji vypíšeme. V předešlém sčítání ale vidíme, že si PHP s přetypováním poradilo samo, proto se manuální převod datových typů nemusí provádět tak často. Všechny výpočty a práce s proměnnými provede interpret PHP interně, ve výpisu uvidíme pouze: Vysledek souctu:. cislo_ je:

. Pole Pole se používají velmi často snad ve všech programovacích jazycích. V PHP mají výhodu velké flexibility. Pole se skládá z klíčů a k nim přiřazených hodnot (key a value), přičemž klíče jsou typu integer nebo string a hodnoty mohou být libovolného typu. Příklad práce s polem: 0 $pole = array("prvni", "druhy"); $pole[] = "treti"; $pole[] = "ctvrty" echo "0: ".$pole[0]."\n: ".$pole[]; print_r($pole); var_dump($pole); Na druhém řádku inicializujeme pole o dvou prvcích typu string. Prvky pole se indexují od nuly, tedy první prvek je vlastně nultý atd. Momentálně máme na nultém indexu řetězec "prvni" a na prvním indexu řetězec "druhy". Na čtvrtém řádku přidáváme prvek do pole pomocí indexu, který je momentálně přázdný. Na pátém řádku děláme to samé pomocí prázdného indexu, ten zajistí, že se řetězec "ctvrty" přidá na konec pole jako nový prvek. Na sedmém řádku chceme vypsat pouze prvky na indexech 0 a, tedy řetězce "prvni" a "treti". Na devátém řádku voláme funkci, která vypíše obsah pole, v našem případě takhle: ( ) [0] => prvni [] => druhy [] => treti [] => ctvrty Pro podrobnější vypsání slouží funkce var_dump($pole) na jedenáctém řádku, která zobrazí i název pole, počet prvků v poli a ke každému prvku jeho datový typ. V našem případě takto: pole() { [0] => string() "prvni" [] => string() "druhy" [] => string() "treti" [] => string() "ctvrty"

Chceme-li využít místo indexování klíče, můžeme libovolnému klíči přiřadit hodnotu pomocí znaku =>. Prvek pole může bez problému být další pole. Ukážeme si to na tomto kódu: 0 $pole = array( "jmeno" => "Jan", "prijmeni" => "Novak", "vek" => "adresa" => array( "ulice" => "Dlouha 0" "mesto" => "Olomouc" "psc" => 00 ) ); echo $pole["jmeno"]." ".$pole["prijmeni"]; echo "psc: ".$pole["adresa"]["psc"]; Na klíč "jmeno" přiřadíme řetězec "Jan" a tak dále, až se dostaneme ke klíči "adresa", na který navážeme pole o třech prvcích. Všimněte si, že prvky "vek" a "psc" jsou celočíselné a všechny ostatní jsou řetězce. Ve většině programovacích jazyků dokážou pole uchovávat hodnoty pouze jednoho typu, v PHP ne. Nakonec se vypíše: Jan Novak psc: 00

. Řetězce Řetězce (string) jsme zatím vytvářeli jen pomocí dvojitých uvozovek ("řetězec"). Druhý způsob je pomocí jednoduchých ('řetezec'). Rozdíl je v tom, že u dvojitých uvozovek dochází k interpretaci speciálních znaků. Tabulka speciálních znaků: \n posun na nový řádek (znak ASCII 0) \r carriage return (znak ASCII ) \t tabulátor (znak ASCII ) \$ znak dolaru \" dvojité uvozovky \\ zpětné lomítko Se znakem \n už jsme se setkali. Je zřejmé, že pokud budeme mít v řetězci (uzavřeném ve dvojitých závorkách) znak dolaru, bude se chtít automaticky vyhodnotit na proměnnou, dvojité uvozovky pak budou značit konec řetězce. Pokud tyto znaky budeme chtít mít ale přímo jako část řetězce, zpětným lomítkem zajistíme, aby se zobrazily správně. Stejný trik platí na samotné zpětné lomítko. V následujícím kódu ukážeme rozdíl dvojitých a jednoduchých uvozovek: $cislo = ; A vypíše se: echo "\$cislo je: $cislo \n"; echo '\$cislo je: $cislo \n'; $cislo je: \$cislo je: $cislo \n Čtvrtý řádek kódu využívá vyhodnocení proměnné $cislo, kdybychom chtěli stejný postup použít na prvky v poli, byla by to chyba. Pro práci s prky pole musíme vždy slučovat řetězce tečkou, např. echo "číslo je: ".$pole[];. 0

. Konstanty, komentáře Konstanty obsahují hodnoty, které se během činnosti programu nemění. Na rozdíl od proměnných se v jejich názvu nepoužívá znak dolaru a kvůli lepší přehlednosti se zapisují velkými písmeny. Patří mezi ně například konstanta PHP_VERSION, která obsahuje verzi PHP. Vlastní konstantu vytvoříme pomocí funkce define: define("my_os", "Mac OS X Lion, 0.."); echo "Muj operacni system je: ".MY_OS."\n"; // nebo // echo "Muj operacni system je Ubuntu\n"; Komentáře (například na pátém a šestém řádku) jsou části kódu, které interpret PHP ignoruje a nevyhodnocuje. Slouží jen pro přehlednost, aby se programátor vyznal ve svém kódu například i po několika letech. Vypíše se: Muj operacni system je: Mac OS X Lion, 0.. Komentáře lze v PHP vkládat třemi způsoby: // komentář jednořádkový komentář známý z jazyků C, C++ atd. /* komentáře... */ komentář na více řádků, začíná /* a končí */ # komentář jednořádkový komentář známý ze shell skriptů

. Operátory, speciální znaky Operátory se používají při změně nebo porovnání dat. S některými už jsme se setkali, například sčítání (+), dále máme samozřejmě odčítání (-), násobení (*) a dělení (/). Méně častěji používané je modulo (%), tedy zbytek po celočíselném dělení. Rovná se (=) slouží k přiřazení hodnoty. Pro porovnávání máme operátory větší (>), menší (<), rovnost (==), nerovnost (!=), větší nebo rovno (>=) a menší nebo rovno (<=). Důležité je si neplést operátor přiřazení a porovnání na rovnost (= a ==). Existuje také ternární operátor, ten ale vysvětlíme až později. Operátory lze různě kombinovat. Například budeme chtít přičíst trojku k celočíselné proměnné &a. Můžeme to udělat dvěma způsoby: $a = ; $a = $a + ; $a += ; echo $a; $a++; // to samé jako $a = $a + ; Třetí a čtvrtý řádek jsou ekvivalentní. Takže k $a přičteme dvakrát dvojku, tedy + +. Vypíše se. Na sedmém řádku jsme použili zkrácený zápis přičtení jedničky. Tento zápis se používá skoro v každém programovacím jazyku, funguje jak ++, tak -- pro snížení o jedna. S několika speciálními znaky už jsme se setkali. Následující tabulka vypisuje ty nejdůležitější a nejpoužívanější: $ označení proměnné [ ] označení indexu prvku pole { označuje skupinu, používají se u řídících struktur (if, while,...) a funkcí & předává proměnnou, funkci nebo třídu jako odkaz => způsob zápisu prvku pole a jeho hodnoty

. Podmínky, logické výrazy Podmíněný příkaz slouží k rozdělení části programu na dvě větve, kde jedna se má provést jen tehdy, když je splněná nějaká podmínka, a druhá větev se provede, když podmínka splněna není. Výsledek podmínky je datového typu boolean, tedy TRUE nebo FALSE. Operátory pro porovnávání jsou vypsány v předchozí kapitole. Syntaxe je stejná jak u jiných programovacích jazyků: 0 $a = ; $b = ; if ($a > $b) { echo "Cislo a je vetsi nez b"; else { echo "Cislo b je vetsi nez a"; Za klíčové slovo if (pátý řádek) píšeme do kulatých závorek podmínku. V našem případě se ptáme, jestli je $a větší než $b, tedy jestli je větší než. Protože je podmínka pravdivá, provedou se příkazy ve složených závorkách následujících za podmínkou, tedy jen šestý řádek, a vypíše se "Cislo a je vetsi nez b". Za else následuje záporná větev, tedy příkazy ve složených závorkách. Naše podmínka byla pravdivá, proto se záporná větev ignoruje. Další dotazování můžeme spustit příkazy elseif nebo else if (v PHP fungují oba tvary): 0 $cislo = ; if ($cislo == 0) { echo "Cislo je nula"; else if ($cislo > 0) { echo "Cislo je kladne"; else { echo "Cislo je zaporne"; Často nestačí vyhodnocovat pouze jednu podmínku. Je možné do sebe vnořovat více if příkazů, ale při více podmínkách se pak stává kód nepřehledný. Proto existuje možnost dát podmínky do logické soustavy

pomocí logických výrazů. Logický výraz "a zároveň" (&& nebo AND) je pravdivý pokud obě podmínky jsou pravdivé, "nebo" ( nebo OR) je pravdivý pokud alespoň jedna z podmínek je pravdivá. Negace (! nebo NOT) zneguje následující výraz. Příklad: 0 $a = ; $b = ; $c = ; echo "Trojuhelnik o stranach $a, $b a $c"; if (($a+$b > $c) && ($a+$c > $b) && ($b+$c > $a)) { echo " LZE sestavit\n"; else { echo " NELZE sestavit\n"; Kód zjišťuje jestli lze nebo nelze sestavit trojúhelník o stranách $a, $b a $c. Tedy jestli součet délky libovolných dvou stran je větší než délka strany třetí. Protože + je menší než, trojúhelník nelze sestavit a vypíše se: Trojuhelnik o stranach, a NELZE sestavit Kratší zápis podmínky můžeme udělat přes ternární operátor, tedy konstrukci (podmínka)? (kladná větev) : (záporná větev). Například echo ($a > $b)? "a je vetsi" : "b je vetsi";.

. Cykly Cykly slouží k opakování nějaké části kódu. Například budeme chtít vypsat všechny prvky pole, které má 0 prvků. Buď můžeme každý prvek vypisovat zvlášť, nebo jeden jediný příkaz budeme opakovat cyklem, jen pokaždé s navýšeným indexem. Mezi nejpoužívanější cykly patří cyklus while a for. Méně používaný je například cyklus do. Ekvivalentní použití while a for: 0 $c = 0; while ($c < 00) { echo $c.", "; $c++; for ($i = 0; $i < 00; $i++) { echo $i.", "; while (podmínka) { tělo; While opakuje příkazy v těle tak dlouho, dokud je splněná podmínka. Do proměnné $c vložíme hodnotu 0. Pak while vyhodnocuje podmínku (je 0 menší jak 00?), vyhodnotí ji na TRUE a provede příkazy ve složené závorce. Tedy vypíše $c, čárku s mezerou a $c navýší o, pak se znova ptá na podmínku a pořád se opakuje. Pokračuje tak dlouho, dokud je splněná podmínka. Jakmile se $c navýší na 00, podmínka se vyhodnotí na FALSE a cyklus skončí. Celý cyklus tedy vypíše čísla od do. for (inicializace; podmínka; inkrementace) { tělo; For funguje tak, že inicializace se provede pouze jednou, a to na začátku, podmínka je testována pokaždé před provedením příkazů v těle a inkrementace se vyhodnotí pokaždé, jakmile se vyhodnotí tělo. Tedy do proměnné $i jsme uložili nulu, podmínka testuje, jestli je 0 menší jak 00, tedy TRUE. Provede se tělo (vypíše se $i, čárka a mezera) a $i se navýší o. Poté se znova vyhodnocuje podmínka a tak dále. V našem případě jsme použili oba cykly pro stejnou věc - vypsání čísel od do. do { tělo; while (podmínka); Do funguje téměř stejně jako cyklus while. Rozdíl je v tom, že u do se tělo vyhodnotí vždy alespoň jednou a pak se teprve vyhodnocuje podmínka, u while se tělo nemusí vyhodnotit ani jednou pokud je podmínka už od začátku FALSE. Obecně se ale každý cyklus hodí pro řešení jiných problémů. U cyklů je důležité správně stanovit podmínku, jinak se cyklus může zacyklit a opakovat se do nekonečna. Příkaz break; slouží k předčasnému ukončení cyklu. Příkaz continue; přeruší vykonávání aktuálního průchodu tělem cyklu a začne nový průchod.

0. Funkce Pokud budeme chtít nějakou část kódu někam uložit a posléze jen volat z různých částí programu, slouží k tomu funkce. Funkce mají tu výhodu, že je lze opakovaně volat s jinými parametry. Například můžeme mít funkci na vypočítání objemu nebo obsahu trojúhelníku o stranách a, b a c. V PHP definujeme funkce příkazem function, funkci pak předáváme jednotlivé parametry v kulatých závorkách (oddělené čárkou), tělo funkce píšeme do složených závorek a návratovou hodnotu vrátíme příkazem return: 0 0 function obvod_trojuhelniku($a, $b, $c) { return ($a + $b + $c); function sestavitelnost_trojuhelniku($a, $b, $c) { if (($a+$b > $c) && ($a+$c > $b) && ($b+$c > $a)) { return TRUE; else { return FALSE; $x = ; $y = ; $z = ; echo "Trojuhelnik o stranach $y, $y a $z "; if (sestavitelnost_trojuhelniku($x, $y, $z) == TRUE) { echo "LZE sestavit.\njeho obvod by byl: "; echo obvod_trojuhelniku($x, $y, $z)."\n"; else { echo "NELZE sestavit.\n" První deklarujeme dvě funkce, jednu na výpočet obvodu trojúhelníku (sečtení všech tří předaných argumentů - stran) a druhou na zjištění zda lze sestrojit trojúhelník, známe-li všechny tři strany. (vrací TRUE pokud lze sestavit, FALSE pokud nelze). Vypíše se: Trojuhelnik o stranach, a LZE sestavit. Jeho obvod by byl: Příkaz return okamžitě ukončí činnost funkce, tedy kdyby za ním v těle byly libovolné příkazy, budou ignorovány. Funkce ale můžou být jak bez parametrů (argumentů), tak bez návratové hodnoty (nevrací nic, může ale například něco vypsat atd.).