Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuOuti Myllymäki Muutettu yli 9 vuotta sitten
1
Tietotyypit Tietotyyppi määrittää muuttujan sisältämän datan luonnetta, muistista tarvittavaa tilaa ja sitä, millaisia operaatioita siihen voidaan kohdistaa. Tietotyypit voidaan jakaa yksinkertaisiin, jolloin muuttujaan liittyy kerrallaan täsmälleen yksi arvo Rakenteisiin, jolloin muuttujaan voi liittyä kerrallaan useita arvoja Tietotyypit tMyn
2
PHP-kielessä yksinkertaisia tietotyyppejä ovat:
boolean (totuusarvo) integer (kokonaisluku) float (liukuluku) string (merkkijono) Rakenteisia tietotyyppejä ovat: array (taulukko) object (olio) Tietotyypit tMyn
3
Arvoina voivat olla ainoastaan TRUE tai FALSE.
Totuusarvo boolean Arvoina voivat olla ainoastaan TRUE tai FALSE. Isojen ja pienten kirjainten ero jätetään huomiotta: $tottaVaiTarua=False; Kun jonkin muun tyypin muuttujaa muutetaan totuusarvoksi, niin seuraavat arvot muunnetaan boolean-tyypin FALSE-arvoksi: Tietotyypit tMyn
4
string: tyhjä merkkijono ja merkkijono ”0”
boolean: FALSE integer: 0 float: 0.0 string: tyhjä merkkijono ja merkkijono ”0” array: tyhjä taulukko, ei alkioita Muut arvot muutetaan TRUE-arvoksi: Tietotyypit tMyn
5
Tietotyypit tMyn
6
Tietotyypit tMyn
7
Kokonaisluku – integer
Integer-tyypin muuttuja voi sisältää etumerkillisiä kymmen-, heksadesimaali- ja oktaalijärjestelmän lukuja. Oktaalijärjestelmän luvut merkitään edeltävällä nollalla (0). Heksadesimaalijärjestelmän luvut merkitään edeltävällä nollalla ja x-merkillä (0x): $ekaInt=-12; //-12 kymmen //järjestelmässä $tokaInt=012;//Oktaaliluku, kymmen- //järjestelmässä 10 Tietotyypit tMyn
8
$kolmasInt=0x12;//Heksades.luku, //kymmenjärjestelmässä //luku 18
Tyypillisesti järjestelmästä riippuva kokonaisluvulle varattu muistipaikka on 32-bittinen (etumerkillinen). Jos integer-tyypin muuttujalle syötetään nämä rajat ylittäviä arvoja, PHP muuttaa muuttujan tyypin automaattisesti float-tyyppiin. Tietotyypit tMyn
9
Tietotyypit tMyn
10
Tietotyypit tMyn
11
Float-tyypin muuttujia voidaan asettaa esim. seuraavilla tavoilla:
Liukuluku – float Float-tyypin muuttujia voidaan asettaa esim. seuraavilla tavoilla: $ekaFlo=1.2; $tokaFlo=1.2e3; //1200 $kolmasFlo=3E-5; // Tietotyypit tMyn
12
String-tyypin muuttuja sisältää merkkijonon, joka voidaan määritellä:
Merkkijono – string String-tyypin muuttuja sisältää merkkijonon, joka voidaan määritellä: Heittomerkein: ’ Lainausmerkein: ” Nk. Heredoc-syntaksilla (Here Document) Käytettäessä heredoc-syntaksia on tärkeää, että aloittava rivi päättyy merkkeihin <<<TUNNISTIN. Esimerkissä vapaasti valittavana tunnistimena on EOD (End Of Data). Tietotyypit tMyn
13
$ekaStr=’Nyt tuli merkkijono’; $tokaStr=”Nyt tuli toinen merkkijono”;
Merkkijonon päättävän tunnistimen on oltava rivin alussa. Sen ja puolipisteen lisäksi rivillä ei saa olla mitään muuta. $ekaStr=’Nyt tuli merkkijono’; $tokaStr=”Nyt tuli toinen merkkijono”; $kolmasStr=<<<EOD Tämä on sitten se heredoc-syntaksilla kirjoitettu merkkijono. EOD; Tietotyypit tMyn
14
Heittomerkki itse esitetään muodossa \’.
Kun merkkijono määritellään heittomerkein, kaikki siihen kuuluvat (kirjoittuvat) merkit esittävät itseään – lukuun ottamatta kenoviivaa ja heittomerkkiä itseään. Heittomerkki itse esitetään muodossa \’. Heittomerkein määriteltyyn merkkijonoon kuuluvat muuttujien nimet (alkavat dollarimerkillä) tulostuvat sellaisinaan – siis sisältöjä ei tule tulostetuksi: Tietotyypit tMyn
15
Tietotyypit tMyn
16
Tietotyypit tMyn
17
Lisäksi on käytössä vaikkapa \n rivinvaihtomerkki (linefeed)
Kun merkkijono määritellään lainausmerkein, siihen kuuluva lainausmerkki pitää esittää muodossa \”. Lisäksi on käytössä vaikkapa \n rivinvaihtomerkki (linefeed) \\ kenoviiva (reverse solidus). Lainausmerkein määritellyt merkkijonot jäsennetään (parse) käytettäessä. Merkkijonoihin kuuluvien muuttujien arvot korvaavat muuttujien nimet. Tietotyypit tMyn
18
Kokeillaan seuraavaksi merkkijonojen liitosoperaattoria, pistettä.
Lisäksi kokeillaan yksittäiseen merkkiin viittaamista indeksillä: Tietotyypit tMyn
19
Tietotyypit tMyn
20
Tietotyypit tMyn
21
Kumpikaan ei ole perinteisessä mielessä funktio.
PHP sisältää kaksi yleisesti käytettyä kielen sisäistä rakennetta (language construct) tulostamiseen: echo ja print. Kumpikaan ei ole perinteisessä mielessä funktio. Rakenne print palauttaa aina kokonaislukuarvon 1 ja echo ei mitään. Kumpaa tahansa voi siis käyttää, mutta kannattanee käyttää vain yhtä rakennetta yhtenevällä tavalla samassa ohjelmistossa. Tietotyypit tMyn
22
Tietotyypit tMyn
23
Tietotyypit tMyn
24
Tietotyypit tMyn
25
Tietotyypit tMyn
26
Taulukko – array PHP:ssä taulukkotyypin avulla voi rakentaa useita erilaisia tietorakenteita. Mainittakoon yksiulotteiset ja moniulotteiset taulukot, listat, jonot, pino ja puu. Taulukon indeksinä voi olla kokonaisluku tai merkkijono (assosiatiivinen taulukko, hajautustaulukko, hash table). Moniulotteiset taulukot muodostetaan käyttämällä taulukon elementin arvona toista taulukkoa, esim $taulukko[2][3]; Tietotyypit tMyn
27
Saman taulukon indeksit voivat olla erityyppisiä: $taulukko[”eka”][3];
Taulukkomuuttujan kokoa ei tarvitse määrätä etukäteen. Taulukko voidaan luoda mm. sijoittamalla arvoja taulukkomuuttujaan array-käskyllä Taulukon luominen sijoittamalla arvoja taulukkomuuttujaan (taulukkomuuttujan nimen erottaa ”tavallisesta” muuttujasta hakasuluista): Tietotyypit tMyn
28
$ruoka[]=”Tomaatti”; //$ruoka[0]=”Tomaatti”
$ruoka[]=”Pinaatti”; //$ruoka[1]=”Pinaatti” $ruoka[6]=”Peruna”; //$ruoka[6]=”Peruna” $ruoka[]=”Salaatti”; // $ruoka[7]=”Salaatti” Jos sijoituslausekkeessa ei mainita indeksiä, sijoitettavan arvon indeksiksi tulee yhtä suurempi kuin suurin käytössä oleva kokonaislukuindeksi. Tietotyypit tMyn
29
Taulukon luominen array-käskyllä: Array-käskyn syntaksi on
array( [key=>] value … ) Taulukon arvot erotetaan niihin mahdollisesti liittyvine avaimineen (indeksit) pilkulla toisistaan. Avain voi olla tyypiltään kokonaisluku tai merkkijono. Arvot voivat olla mitä tahansa tyyppejä, moniulotteisten taulukoiden tapauksessa myös taulukoita. Tietotyypit tMyn
30
Tietotyypit tMyn
31
Tietotyypit tMyn
32
The pre element defines preformatted text
The pre element defines preformatted text. The text enclosed in the pre element usually preserves spaces and line breaks. The text renders in a fixed-pitch font. Tietotyypit tMyn
33
print_r -- Prints human-readable information about a variable
Description void print_r (mixed expression) This function displays information about the values of variables in a way that's readable by humans. If given A string, integer orfloat, the value itself will be printed. If given an array, values will be presented in a format that shows keys and elements. Similar notation is used for objects. Remember that print_r() will move the array pointer to the end. Use reset() to bring it back to beginning. Tietotyypit tMyn
34
Tietotyypit tMyn
35
Tietotyypit tMyn
36
Tietotyypit tMyn
37
Tietotyypit tMyn
38
Erilaisia operaattoreita voidaan ryhmitellä käyttötarkoituksen mukaan:
Operaattorit Erilaisia operaattoreita voidaan ryhmitellä käyttötarkoituksen mukaan: Aritmeettiset operaattorit Sijoitusoperaattorit Vertailuoperaattorit Loogiset operaattorit Muut operaattorit Tietotyypit tMyn
39
Aritmeettiset operaattorit
Tietotyypit tMyn
40
Sijoitusoperaattorit
Monien muiden kielien tapaan PHP tarjoaa sijoitusoperaattorin (=) lisäksi monia lyhennysmerkintöjä sijoitusoperaattorin yhdistämiseksi muihin operaattoreihin. Tietotyypit tMyn
41
Vertailuoperaattorit
Operaation tuloksena on joko totuusarvo TRUE tai FALSE. Tietotyypit tMyn
42
Loogiset operaattorit
Loogisilla operaattoreilla voidaan mm. yhdistellä vertailujen tuloksia. Tietotyypit tMyn
43
Se määrittää sen, mihin operandeihin mikin operaattori kohdistuu.
Operaattoreita koskee ennalta asetettu sidontajärjestys eli presedenssi (precedence). Se määrittää sen, mihin operandeihin mikin operaattori kohdistuu. Jos sidontajärjestyksestä halutaan poiketa, on käytettävä sulkeita. Sulkeita voidaan käyttää myös pelkästään selkeyden vuoksi. Seuraavassa taulukossa operaattorien sidontajärjestys on esitetty ylenevässä järjestyksessä. Mitä alemmaksi taulukossa mennään, sitä vahvempi presedenssi kyseisessä laatikossa olevalla operaattorilla on. Tietotyypit tMyn
44
Assosiointi määrää sen, miten samalle tasolle kuuluvat operaattorit assosioivat keskenään.
Merkintä oikealta vasemmalle (<=) tarkoittaa sitä, että oikeanpuoleiset operaatiot sitovat voimakkaammin. Esim. sijoitusoperaattori assosioi oikealta vasemmalle. Siispä $a=$b=$c jäsennetään $a=($b=$c). Tietotyypit tMyn
45
Tietotyypit tMyn
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.