490 likes | 718 Views
Premenné. Začínajú znakom $ Nasleduje _ alebo písmeno (veľké malé) Ďalej znaky , čísla a podtrhovník _ Identifikátory sú casesensitive t.j. rozpoznáva malé a veľké $jano, $a34 , $ _12, $ _abc – správne $3a, - nespr á vn e Znaky sú A-Z, a-z, 0-9. Typy premenných.
E N D
Premenné Začínajú znakom $ Nasleduje _ alebo písmeno (veľké malé) Ďalej znaky, čísla a podtrhovník _ Identifikátory sú casesensitive t.j. rozpoznáva malé a veľké $jano, $a34, $_12, $_abc – správne $3a, - nesprávne Znaky sú A-Z, a-z, 0-9
Typy premenných • Celočíselné - osmičkovej (prefix 0) alebo šestnástkovej (prefix 0x) • Reálne - (s plávajúcou čiarkou) - alebo double • Reťazce - “ ’ - escape sekvencie $\... • Logické - • Array (pole) • Object
Celočíselné hodnoty • $a = 123; // desiatková sústava, • $b = 0123; // osmičková sústava (83 v desiatkovej) • $c = 0x1A; // hexadecimálna ( 26 v desiatkovej) • Max. hodnota+/- 2 147 483 647
Reálne hodnoty • $a = 1.2345; // desatinná „čiarka“ je bodka • $b = 2.3e4; // rovnocenné zápisu 23000 • $c = 5E-10 // malé číslo • hodnota 1.8e308 s presnosťou na 14 desatinných miest.
Logická hodnota • $a = TRUE; • $b = FaLsE; /* hodnoty TRUE a FALSE sú case-insensitive, ale je dobrým zvykom písať ich veľkými písmenami */ poznámka – bol integrovaný až do PHP4, takže v nižšíchverziách jeho použitie spôsobí chybu.
Reťazce <?php $premenna = 12345; $text1 = 'ja obsahujem '.$premenna.'<br>'; $text2 = "aj ja obsahujem ".$premenna." ale dochádza k jej rozvoju <br>"; echo $text1; echo $text2; ?> ja obsahujem 12345 aj ja obsahujem 12345 ale dochádza k jej rozvoju
ESC postupnosti \n - Znak nového riadku (LF – linefeed, ASCII znak 10) \r - Znak návratu vozíka (CR – carriage return, znak 13) \t - Tabulátor (HT – horizontal tab, ASCII znak 9) \\ - Spätné lomítko \$ - Znak dolára \“ - Úvodzovky \nnn - znak, ktorého kód v osmičkovej sústave je nnn \xnn - znak, ktorého kód v šestnástkovej sústave je nn
Pole - array • vytvoriť funkciouarray() alebo • zadaním hodnoty každému prvku: $a[0] = 1; $a[1] = 1; $a["a"] = 1; • funkciou array() : $a = array (0 => 1, 1 => 1, "a" => 1);
Viacrozmerné pole • $a[1] = 1; // jednorozmerné pole • $a[1][1] = 1; // dvojrozmerné pole, matica • $a[1]["a"][2] = 1; // trojrozmerné pole, môžete mixovať reťazcové a číselné indexy, funguje pri poliach všetkých rozmerov
Polia - pokračovanie Jednotlivé prvky poľa môžu byť rôzneho typu: $pole[0]="Janko"; $pole[1]=123; $pole[2]=1.23e+34; Indexom poľa môže byť aj reťazec: $pole["meno"]="Janko"; $pole["vek"]=123; $pole["plat"]=1.23e+34;
Pole - funkcie • count($pole) - vráti dĺžku poľa • reset($pole) - nastaví ukazovateľ na prvý prvok poľa • current($pole) - vracia hodnotu prvku poľa na ktorý ukazuje ukazovateľ • next($pole) - presunie ukazovateľ na nasledujúci prvok a potom vráti jeho hodnotu • key($pole) - vráti index prvku poľa na ktorý ukazuje ukazovateľ • list($p1,$p2,$p3)=$pole - do premenných $p1, $p2, $p3 priradí prvky trojrozmerného poľa • list($p1,,$p3)=$pole - do premenných $p1, $p3 priradí prvý a tretí prvok trojrozmerného poľa
Objekty • class Trieda { int $atribut; // vlastnosti function funkcia() { // schopnosti echo "Telo funkcie"; } } Deklaráciu premennej ako objekt typu Trieda: • $premenna = new Trieda;
Operátory • Aritmetické operátory • Priraďovacie operátory • Porovnávacie operátory • Inkrementačné a dekrementačné operátory • Logické operátory
Aritmetické operátory • $a + $b Sčítanie- Klasický súčet argumentov • $a - $b Odčítanie- Rozdiel argumentov • $a * $b Súčin- Súčin argumentov • $a % $b Modulo- Zvyšok po celočíselnom delení argumentu $a argumentom $b
Operátory priradenia Znak„=“ Dvojica znakov aritmetický operátor a znak rovnosti, „+=“, „-=“, „*=“, „/=“ a „%=“. $a += 5; // je úplne ekvivalentný zápisu $a = $a +5;
Operátory priradenia <? $x = $x + 1 ; // je to iste ako $x++; $x = $x - 1 ; // je to iste ako $x--; $x = $x + $y ; // je to iste ako $x += $y ; // ak v premenných máme text a chceme ich spojiť nepoužijeme znak + ale . $x .= $y ; $x = $x * $y; // je to iste ako $x *= $y; $x = $x / $y; // je to iste ako $x /= $y; ?>
Relačné operátory • $a == $b Rovnosť- TRUE ak sa argumenty rovnajú • $a != $b Nerovnosť- TRUE ak sa nerovnajú • $a <> $b Nerovnosť- TRUE ak sa nerovnajú • $a === $b Identickosť- identické –hodnotou aj typom • $a !== $b Neidentickosť- hodnotou alebo typom • $a < $b Menší ako... - TRUE ak je prvý menší • $a > $b Väčší ako... - TRUE ak je prvý väčší • $a < = $b Menší alebo rovný ako... • $a > = $b Väčší alebo rovný ako...
Inkrementačné operátory • ++$a pre-inkrementácia Zvýši hodnotu o 1 a vráti ju • $a++post-inkrementácia Vráti hodnotu a zvýši ju o 1 • --$a Pre-dekrementácia Zníži hodnotu o 1 a vráti ju • $a--Post-dekrementácia Vráti hodnotu a zníži ju o 1
Logické operátory • $a AND $b a súčasneVracia TRUE ak sú oba TRUE • $a && $b A súčasne- Alternatívna syntax pre AND • $a OR $b aleboVracia TRUE ak aspoň jeden je TRUE • $a || $b Alebo Alternatívna syntax pre OR • $a XOR $b Exkluzívne OR Vracia TRUE ak je práve jeden z argumentov TRUE (teda ak argumenty majú rôznu pravdivostnú hodnotu) • ! $a Negácia Vracia TRUE ak argument nie je TRUE • isset($a)– funkcia vracia TRUE ak v skripte existuje premenná $premenna a naopak FALSE ak takáto premenná neexistuje (nebola nikde volaná).
Bitové operátory • $a & $b AND- Nastaví na 1 bity, ktoré sú nastavené na 1 v oboch argumentoch (v tomto prípade $a a $b) • $a | $b OR- Nastaví na 1 bity, ktoré sú nastavené na 1 v hociktorom argumente • $a ^ $b XOR- Nastaví na 1 bity, ktoré sú nastavené na 1 buď v jednom alebo v druhom • ~ $a NOT- Nastaví na 1 bity, ktoré sú nastavené na 0 a naopak • $a << $b Bitový posun doľava- Posunie všetky bity 1.arg.doľava o počet miest špec.v druhom argumente • $a >> $b Bitový posun doprava- Posunie všetky bity 1.arg.doprava o počet miest špec.v druhom argumente
Príkazy • Vetvenie • If • switch • break / continue • Cyklus • while • do .. while • for • for .. each
Príkaz IF If (podmienka) príkaz; if (podmienka) { prikaz1; prikaz2; prikaz3;} if (podmienka) : prikaz1; prikaz2; prikaz3; endif;
Príkaz if elseif else • if (podmienka) príkaz1elsepríkaz2 • if (podmienka) { príkazy; } elseif (podmienka) { príkazy; } elseif (podmienka) { príkazy; } elseif (podmienka) { príkazy; } else { príkazy; }
Príkaz switch switch ($premenna) { caseh0: prikaz0; break; caseh1: prikaz1; break; caseh2: prikaz2; break; default: prikaz; }
Príkaz Break / Continue • Príkaz break umožňuje okamžité ukončenie vykonávania tela cyklu • Príkaz continue preskočí všetky zostávajúce príkazy v tele cyklu a začne vykonávať ďalšie opakovanie. Ak by neboli splnené podmienky pre opakovanie cyklu, ďalšie opakovanie sa nevykoná.
Príkaz While While (podmienka) príkaz while (výraz) { príkaz1; príkaz2; atd... } while (výraz): príkaz1; príkaz2; atd... endwhile;
Príkaz Do - while • do { príkaz1; príkaz2; atd... } while (podmienka); • do { prikaz; if (podmienka) break; prikaz; } while (podmienka);
Príkaz For • for (výraz1; výraz2; výraz3) príkaz1; • for (výraz1; výraz2; výraz3): príkaz1; príkaz2; atd... endfor; vyraz1 - počiatočná hodnota vyraz2 - koncová hodnota vyraz3 - prírastok
Príkaz Foreach • foreach ($pole as $kluc => $hodnota) { prikaz; }
Súbory • Des_suboru=fopen(subor, mod) • fclose(des_suboru) $file=Fopen("subor.txt", "w"); FputS($file, $vloz); Fclose($file);
Súbory - mod • „r“ – otvorí súbor iba pre čítanie, ukazovateľ na začiatok súboru • „r+“ – otvorí súbor pre čítanie i zápis, ukazovateľ na začiatok • „w“ – otvorí/ vytvorí iba pre zápis • „w+“ – otvorí súbor pre čítanie i zápis, inak totožné „w“ • „a“ – otvorí / vytvorí súbor iba pre zápis, ukazovateľ na koniec • „a+“ – otvára súbor na čítanie i zápis, inak všetko ako pri „a“
Príklad funkcie <? function sucet ($x,$y) { $z = $x + $y; return $z; } echo "súčet čísla 2 a 3 je ".sucet(2,3); ?>
Príklad funkcie ... <? //globálne premennéfunction sucet ($x=2,$y=3) { global $z; return $x + $y + $z; } $z=3; echo "súčet čísla 1 a 2 a $z je ".sucet(1,2); ?>
Súbor – základné funkcie • fread(fd, reťazec [,dĺžka]) • fwrite(fd, reťazec [,dĺžka]) • fgetc(fd) • fgets(fd, dĺžka) • fputS(fd, reťazec); • fputc(fd, znak); • $text = FRead($file, FileSize($file));
Súbor – príklad počítadla <? if (File_Exists("pocitadlo.txt")): $fp=FOpen("pocitadlo.txt","r+"); $pocet=FGets($fp,10)+1; Rewind($fp); else: $fp=FOpen("pocitadlo.txt","w"); $pocet=1; endif; FPutS($fp,$pocet); FClose($fp); echo $pocet; ?>
Súbor – funkcie • fseek(fd, offset, [odkial]) - hľadanie • rewind(fd) – nastavenia za začiatok • feof(fd) – koniec spboru • file(súbor [,cesta]) – otvorenie $pole=file(‘subor.txt’) – načíta súbor do pola
Súbory – ostatné funkcie • file_exists(subor) - či existuje • filesize(súbor) – veľkosť súboru • fileperms(), fileowner(), filegroup()- prístup • filemtime() - čas • copy(zdroj, ciel)– kópia súboru • rename(zdroj, nove_meno) • unlink(subor)– mazanie súboru • is_readable(súbor) zistí či sa daný súbor dá čítať • is_writeable(súbor) zistí či sa dá do súboru zapisovať • readfile(súbor) vypíše obsah na štandardný výstup
Súbory – ukážka <HTML> <HEAD> </HEAD> <BODY> <DIV ALIGN=CENTER> ... tu si napíšte čo sa Vám zachce :<br> <table bgcolor=#25509e border=1 width=60%> <tr><td align=center> <font size=2> <? $txt = „subor.txt"; $fp = fopen($txt, "r"); $txt = fread($fp, filesize($txt)); fclose($fp); echo $txt; ?> </font> </td></tr> </table>
Súbory – ukážka... • načítame si ho cely pomocou funkcie fread() do premennej $txt • druhy parameter nám udáva koľko chceme toho načítať v našom prípade všetko na čo použijeme funkciu filesize() • potom zavrieme súbor a vypíšeme čo sme z neho dostali.
Súbory – ukážka ... <FORM NAME=board METHOD="POST„ ACTION=„s_plus.php"> <center> <input type="text" name="message" size="20„ style=„background-color: #202020; color: #FFFFFF;"> <INPUT TYPE=submit value="Ok"> </center> </FORM>
Súbory – ukážka ... • Použijeme formulár kde mame len jeden input s menom text. • Po odoslaní formulára sa hodnota pošle súboru s_plus.php ktorú mame v hlavičke formulára
Súbory – ukážka ... <? //s_plus.php if (($message!="")): $fp = FOpen(„subor.txt","a"); FPutS($fp," ".NL2BR(HTMLSpecialChars($message))." "); FClose($fp); endif; Header("Location: stranka.php"); ?>
Súbory – ukážka ... • Ak hodnota $message nie je prázdna tak ju zapíšeme do súboru subor.txt • predtým odstránime všetky špeciálne HTML znaky pomocou HTMLSpecialChars • funkciu NL2BR() v preklade NewLine to BreakLine. Premení Enter na <BR>. • Posledný príkaz je Header() pomocou ktorého presmerujeme stránku okamžite na stranka.php čiže naspäť
Adresáre • mkdir(meno, mod) - vytvorí • rmdir(meno) - zruší • is_dir(meno)– test či je • chdir(meno) - zmení • closedir(ad)- zavrie • opendir(adresar)– otvorí a vráti ad • readdir(ad)– číta súbor z adresára • rewinddir(ad) – na začiatok Ad – adresar description - smerník
funkcie function meno (parametre) // ako funkcia {zoznam príkazov;return hodnota; } function meno (parametre) // ako procedúra {zoznam príkazov; }
Príklad funkcie - odkazom Function Podciarkni(&$arg){ //var prem $arg = „<u>“.$arg.“</u>“; } $a = „text“; podciarkni($a); echo $a; // vystup : podčiarknutý „text“
Externé časti - knižnice • require "zdroj.php";// alebo include "zdroj.php"; Na dané miesto sa vloží kód zo súboru zdroj.php. Je to to isté, ako keby ste sem vložili obsah súboru zdroj.php. V tomto prípade sú obidva príkazy navzájom ekvivalentné.