3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.



Samankaltaiset tiedostot
PHP tehtävä 3 Atte Pekarinen TIKT13A

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteita

Java-kielen perusteet

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Johdatus Ohjelmointiin

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

Ohjelmoinnin perusteet Y Python

Python-ohjelmointi Harjoitus 2

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Ohjelmoinnin perusteet Y Python

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

17. Javan omat luokat 17.1

P e d a c o d e ohjelmointikoulutus verkossa

Palvelinpuolen ohjelmointi

Ohjelmoinnin peruskurssi Y1

FUNKTIOITA. Sisällysluettelo

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

KAAVAT. Sisällysluettelo

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

17. Javan omat luokat 17.1

Ohjelmoinnin peruskurssi Y1

PHP:n alkeita ja taustaa. Markus Norrena

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Alkupiiri (5 min) Lämmittely (10 min) Liikkuvuus/Venyttely (5-10min) Kts. Kuntotekijät, liikkuvuus

Ehto- ja toistolauseet

1 PHP-sovelluksen toiminta

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat ja operaatiot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Metodien tekeminen Javalla

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmointiharjoituksia Arduino-ympäristössä

Excel syventävät harjoitukset

Harjoitus 5 (viikko 41)

Tietueet. Tietueiden määrittely

OSA II Kieli. Oppitunti. 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

Ohjelmoinnin perusteet Y Python

Harjoitus 3 (viikko 39)


System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Testaa taitosi Piirrä yksikköympyrään kaksi erisuurta kulmaa, joiden a) sini on 0,75 b) kosini on

Ohjelmoinnin perusteet Y Python

etunimi, sukunimi ja opiskelijanumero ja näillä

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Luvuilla laskeminen. Esim. 1 Laske

1 Aritmeettiset ja geometriset jonot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Taulukot. Jukka Harju, Jukka Juslin

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Y Python

Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2

Luento 5. Timo Savola. 28. huhtikuuta 2006

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Osoitin ja viittaus C++:ssa

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN

Python-ohjelmointi Harjoitus 5

Tutoriaaliläsnäoloista

Ohjelmoinnin perusteet Y Python

3. Muuttujat ja operaatiot 3.1

Ohjelmoinnin perusteet Y Python

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

Ohjelmoinnin peruskurssi Y1

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Hyvän salasanan tunnusmerkit Hyökkääjästä salasanan pitää näyttää satunnaiselta merkkijonolta. Hyvän salasanan luominen: Luo mahdollisimman pitkä

Vektorit. Vektorin luominen Vektorin tuominen näyttöön Vektorin koon ja alkioiden muokkaaminen Vektorin poistaminen...

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

Ohjelmoinnin peruskurssi Y1

Transkriptio:

PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan PHP-opas. Tallenna itsellesi kopio tästä tiedostosta, kirjoita oma nimesi ja luokkasi ylätunnisteeseen. Vastaa sitten tehtäviin, talleta ja vie vastaus Optimaan kurssin palautuskansioon. 3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. Heredoc syntaksi on tapa luoda merkkijonoja. Syntaksi koostuu aloitussymboleista, vapaavalintaisesta tunnisteesta, merkkijonon sisällön muodostavasta tekstistä ja uudelleen esiintyvästä tunnisteesta, joka lopettaa merkkijonon tulematta kuitenkaan yhdistetyksi siihen. Merkkijonon aloittaa kolme pienempi kuin-merkkiä <<< ja heti niiden perään annettu tunniste. Tunnisteen täytyy noudattaa PHP:n normaaleja muuttujannimeämissääntöjä, eli se saa koostua ainoastaan kirjaimista, numeroista ja alaviivoista ja se ei saa alkaa numerolla. Heredoc syntaksi soveltuu pitkien merkkijonojen luomiseen. Syntaksilla luodut merkkijonot käyttäytyvät samalla tavalla, kuin kaksinkertaisilla lainausmerkeillä rajatut, eli niiden sisältämät muuttujat ja erikoissymbolit tunnistetaan ja käsitellään. Ainoa poikkeus on, että tekstialueella esiintyviä lainausmerkkejä ei tarvitse edeltää \ symbolilla. Entä mitä tarkoittaa nowdoc? Kirjoita esimerkki myös tästä. - Käsky echo kirjoittaa näkyviin parametrina annetun merkkijonon tai muuttujan sisällön. Mitä seuraavat PHP-skriptit tulostavat? Testaa koodit ( XAMPPissa) ja kopioi kunkin tehtävän alle, mitä skriptit tulostavat. Opiskele asioita samalla. 3.2 <?php $kuka= "oma nimesi"; // Kirjoita edelle oma nimesi. //Lause päättyy puolipisteeseen $ammatti= "opiskelija"; # muuttujanimi eli tunnus alkaa merkillä $ echo "Tässä tervehdys\n"; echo "sinulle $ammatti $kuka!<br />"; echo 'Hei $kuka kuinka tämä onnistuu?<br />'; echo Miksi näin?<br /> ; Parse error: syntax error, unexpected 'näin' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\videnoja\testi.php on line 8

Yhteenlaskusta esimerkki 3.3 <?php $k = 1; $k = $k + "2"; $k = $k + "12. maaliskuuta"; echo "Tulokseksi saatiin $k! <br />"; Tulokseksi saatiin 15! Aritmeettisia operaattoreita ja matemaattisia funktioita (pow() ja sqrt()) 3.4 <?php $tekija = "<strong>oma nimesi tähän</strong>"; // korvaa lainausmerkkien sisään nimesi kohtaan oma nimesi tähän $a = 31; $b = 43; echo $tekija. " osaa laskea:<br />\n"; // operaattori. liittää tekstejä yhteen $summa = $a +$b; echo "Lukujen $a ja $b summa on $summa<br />\n "; $erotus = $a-$b; echo "Lukujen $a ja $b erotus on $erotus<br />\n "; $tulo = $a * $b; echo "Lukujen $a ja $b tulo on $tulo<br />\n "; $osamaara = $a / $b; echo "Lukujen $a ja $b osamaara on $osamaara<br />\n "; $jakojaannos = $a % $b; echo "Lukujen $a ja $b jakojäännös on $jakojaannos<br />\n "; echo "Potenssiin korotus lasketaan funktiolla pow(luku, potenssi) <br />\n "; $potenssi = pow($a, $b); echo "Luku $a potenssiin $b on $potenssi<br />\n "; echo "Neliöjuuri lasketaan funktiolla sqrt(luku) <br />\n "; $neliojuuri = sqrt($a); echo "Luvun $a neliöjuuri on $neliojuuri<br />\n "; Ville osaa laskea: Lukujen 31 ja 43 summa on 4 Lukujen 31 ja 43 erotus on -12 Lukujen 31 ja 43 tulo on 1333 Lukujen 31 ja 43 osamaara on 0.2093023255814 Lukujen 31 ja 43 jakojäännös on 31 Potenssiin korotus lasketaan funktiolla pow(luku, potenssi) Luku 31 potenssiin 43 on 1.344453212E+4 Neliöjuuri lasketaan funktiolla sqrt(luku) Luvun 31 neliöjuuri on 5.543283

Funktioita Pyöristysfunktioita on kolme round(), ceil() ja floor(). Funktiolla round() voi olla kaksi parametria, jolloin jälkimmäinen kertoo monenko desimaalin tarkkuudella pyöristetään. Funktioilla ceil() ja floor() voi olla vain yksi parametri. Miten nämä kaksi funktiota poikkeavat toisistaan? Ohje: testaa esimerkit alla ja/tai tutki funktioiden kuvauksia sivulta php.net 3.5 <?php echo "Pyöristetään round-funktiolla<br />\n "; $a = round(.9); echo "$a <br />\n "; $b = round(.5); echo "$b <br />\n "; $c = round(.4999); echo "$c <br />\n "; $d = round(.12345, 3); echo "$d <br />\n "; $e = round(.12345, 4); echo "$e <br />\n "; $f = round(1000 / 10); echo "$f <br />\n "; echo "funktiolla ceil<br />\n "; $a = ceil(.9); echo "$a <br />\n "; $b = ceil(.5); echo "$b <br />\n "; $c = ceil(.4999); echo "$c <br />\n "; echo "funktiolla floor<br />\n "; $a = floor(.9); echo "$a <br />\n "; $b = floor(.5); echo "$b <br />\n "; $c = floor(.4999); echo "$c <br />\n "; Pyöristetään round-funktiolla.123.1235 funktiolla ceil funktiolla floor Merkkijonon pituuden määritys funktiolla strlen() ja ehtolause if-else 3. <?php $kuka = "etunimesi sukunimesi";// korvaa oma nimesi tähän $pituus = strlen($kuka); // selvitä funktion strlen() toiminta PHP-oppaasta if ($pituus > 5) // vertailuoperaattori > eli suurempi kuin echo "Ihan kelpo $pituus merkkinen nimi: $kuka <br />"; else echo "Voiko nimessä olla vain $pituus merkkiä: $kuka <br />"; Ihan kelpo 14 merkkinen nimi: Ville Videnoja

!!!!!!MUISTA LÄHTEET!!!!!!! Operaattori.= sekä if-else lause ja vertailuoperaattori == yhtä suuri kuin 3. <?php $t = "kukkuluuruu"; $t.= "t! "; // uusi operaattori! Mitä se (.=) tekee? $n = 13; if (strlen($t) == $n){ // Vertaillaan lausekkeiden yhtäsuuruutta == echo "pituus on $n <br />"; } else echo "\$t on \"". $t. "\" eikä sen pituus siis ole $n<br />"; $t on "kukkuluuruut! " eikä sen pituus siis ole 13 Taulukon määrittelystä esimerkki (Näitä katsotaan lisää tunneilla) 3.8 <?php $palkka = 1000; $selite= "palkkio"; $aika[0] = "syyskuu"; // tämä luo taulukon ja alustaa sen alkion arvoksi tekstin $aika[1] = "lokakuu"; // alustamalla sen alkiot $aika["loppu"] = "marraskuu"; // aika erikoista, vai mitä echo "Tässä $selite $palkka \$ työstäsi"; echo " ajalta $aika[0], $aika[1] ja $aika[loppu] <br />"; /* huomaa ettei edellä viittauksessa tarvittu lainausmerkkejä $aika["loppu"] kun viittaus oli merkkijonon sisällä */ Tässä palkkio 1000 $ työstäsi ajalta syyskuu, lokakuu ja marraskuu Jatka seuraava skripti edellisen skriptin perään samaan tiedostoon. Esimerkki funktion count() käytöstä ja arvonmuunto-operaattoreita /=, *= <?php echo "Olet ollut töissä ". count($aika). " kuukautta.<br />"; $palkka /= count($aika); // laskee muuttujan $palkka arvoksi kuukausipalkan echo "Sait kuukausipalkkaa $palkka \$ koeajalta.<br />"; echo "Saat nyt korotusta 20% ja uusi kuukausipalkkasi on ". ($palkka *= 1.2). "\$<br />"; Tässä palkkio 1000 $ työstäsi ajalta syyskuu, lokakuu ja marraskuu Olet ollut töissä 3 kuukautta. Sait kuukausipalkkaa 333.33333333333 $ koeajalta. Saat nyt korotusta 20% ja uusi kuukausipalkkasi on 400$

Taulukon määrittelyyn ja alustamiseen toinen tapa ja taulukon läpikäynti foreach illa 3.9 <?php $a = array("t" => "tyydyttävä", "H" => "hyvä", "K" => "kiitettävä"); foreach ($a as $avain => $arvo) echo "$avain : $arvo<br>"; //tämä tehdään kaikille taulukon alkioille echo "<pre>"; echo. var_dump($a). "</pre>"; Parse error: syntax error, unexpected '.' in C:\xampp\htdocs\videnoja\testi.php on line // selvitä funktion var_dump() merkitys php.net sivuilta Dumppaa tiedot muuttujasta