Navigácia
INTEGER
Typ premennej integer ,ako sme si v minulej časti spomenuli, sa používa pre celé číslo. Je reprezentovaný 4 bajtmi. Čísla možno deklarovať v desiatkovej ,šestnásťkovej alebo osmičkovej sústave (prefix 0). Preto ak priradíte premennej číslo 0777 (nula je prefix a 777 je zadané v smičkovej sústave),nečudujte sa ,že jej hodnota bude 511, pretože taká je jej hodnota v desiatkovej sústave.STRING
String zase používame pre reťazce. Tieto zapisujeme pomocou úvodzoviek " , pre čistý text sa dajú použiť apostrofy '. Ak je potrebné použiť špeciálny znak vo vnútri reťazca , použijeme tzv. escape sekvencie. Tieto sekvencie je možné použiť len v reťazcoch uzavretých v úvodzovkách. Jednotlivé escape sekvencie :
- spätné lomítko zapíšeme znakom \\
- tabulátor - \t
- úvodzovky - \"
- dolár - \$
Príklad 4
<?php $a = 0777; // hodnota premennej je 511 echo "hodnota premennej \$a je $a <br />"; // v reťazci je escape sekvencia, preto sú použité úvodzovky echo 'toto je čistý text <br />'; // čistý text môžu uzatvárať apostrofy $b = "Text"; echo "$b[0] <br />"; // vypíše T $c = 10; $sucet = $a + $c; echo "Vysledok je $sucet <br />"; //vypise 521 ?> |
DOUBLE
Double reprezentuje desatinné číslo uložené v ôsmich bajtoch. Čísla je možné zadávať aj v exponenciálnom tvare.
$premenna = 4.2e3 // exponenciálny tvar
POLE
Pole je dátová štruktúra viacerých premenných ,ktoré sú pristupné pomocou indexu. Index sa zapisuje na hranatých zátvoriek a môže byť číselného tvaru ,ale aj prezentovaný reťazcom. Jednotlivé prvky poľa môžu byť ľubovoľného typu.
$zviera[0] = "lev";
$zviera[1] = "tiger";
$zviera[2] = "mačka";
$rozne[0] = "Kravata";
$rozne[5] = 6;
$rozne[18] = 10.254;
$autor["Fero"] = "Feroslav Knižný";
$autor["Jano"] = "Ján Mrkvička";
Ak chceme do poľa priradiť viacej hodnôt môžme na to použiť funkciu array. Funkcia bude ukladať hodnoty od určitého indexu ,alebo automaticky od nuly. Viacej napovie príklad - nasledujúce zápisy sú ekvuivalentné :
$den[] = "Pondelok"; // indexuje sa automaticky od nuly
$den[] = "Utorok";
$den[] = "Streda";
S funkciou array to bude vyzerať nasledovne :
$den = Array("Pondelok","Utorok","Streda");
Ak chceme indexovať od určitého čísla použijeme na to operátor => .
$den = Array(1=>"Pondelok","Utorok","Streda"); // indexujeme od 1
Niekedy je vhodné použiť viacrozmerné polia. Viacrozmerné pole je vlastne jedno jednorozmerné pole vložené do druhého. Dobrou ukážkou je jednoduchý príklad ,ktorý vypočíta súčet prvkov na diagonále v nasledujúcej tabuľke :
2 | 4 | 5 |
1 | 0 | 4 |
5 | 4 | 1 |
Príklad 5
<?php $diagonala = Array(Array(2,4,5),Array(1,0,4),Array(5,4,1)); $vysledok=$diagonala[0][0]+$diagonala[1][1]+$diagonala[2][2]; echo $vysledok; ?> |
Veľmi často som zabúdal ,že pole je indexované od nuly! Teraz zabúdam na iné veci ;)
Pri práci s poľom môžme využiť nasledovné funkcie :
Funkcia | Popis |
Reset() | nastaví index na 1. prvok poľa |
Current() | vráti hodnotu prvku poľa |
Next() | posunie ukazovateľ a vráti aktuálnu hodnotu prvka poľa |
Count() | zistí počet prvkov poľa |
Key() | vracia index poľa, na ktorom sa nachádza ukazovateľ |
List() | zabezpečí načítanie poľa do premenných |
Funkcia List() sa nám z horeuvedených zíde asi najviac. Demonštrujeme si ju na príklade :
Príklad 6
<?php $den = array("pon","uto","str"); //načítame pole echo "$den[0] <br />"; //vypíše pon List($den_1,$den_2,$den_3) = $den; echo $den_2; // vypíše uto ?> |
PRETYPOVANIE PREMENNÝCH
Ako som už spomínal nemusíme premenným nastavovať typ. PHP si ho určí samo. Napríklad ak sčítame číslo (integer) s desatinným číslom (double) , výsledok bude double. K pretypovaniu premenných nám slúži funkcia :
SetType() , syntax : SetType($premenna,"typ");
Ak chceme zistiť typ premennej použijeme funkciu :
GetType() , syntax : GetType($premenna);
Môžme tiež použiť funkcie (tieto funkcie majú využitie najmä pri podmienkach - o tých si ,ale povieme neskôr) :
- Is_Integer
- Is_Double
- Is_String
- Is_Array
- Is_Object
Príklad 7
<?php $a = 10; // integer $b = 10.5; // double $vysledok = $a + $b; //double echo "$vysledok <br />"; //vypise 20.5 SetType($vysledok,"integer"); //pretypovanie na integer echo "$vysledok <br />"; //vypise 20 $typ = GetType($vysledok); //zisti typ premennej echo "$typ <br />"; //vypise integer SetType($vysledok,"double"); //pretypovanie spat na double echo "$vysledok <br />"; //vypise 20 $typ = GetType($vysledok); echo "$typ <br />"; //vypise double ?> |
KONŠTANTY
Konštanta takisto ako premenná nesie hodnotu ,ale s tým rozdielom ,že je nemenná - konštantná. Premenná ako to aj s názvu vyplýva svoju hodnotu môže meniť , kdežto konštantná má hodnotu len jednu a na jej definovanie používame funkciu :
define , syntax : define("meno_konstanty",hodnota,citlivos na velkost pismen);
posledný parameter (citlivosť na veľkosť písmen nie je povinný) a zadáva sa v tvare : true - nie je citlivý ,false - je citlivý.
Príklad : define("dni_v_roku",365,false);
Konštanta dni_v_roku bude mat hodnotu 365 a jej názov bude citlivý na veľkosť písmen.
Narozdiel od premenných pri konštantách nepoužívame prefix $.
Články
Predošlý článok : 1.Základy, Hello world a premenné
Ďalší článok : 3. Výrazy a operátory
Odkazy
Stiahnite si vypracované príklady použité v článku
Komentáre