Tehtävä 1 Laske kolme eri kokonaislukua yhteen. - Arvot ovat 7, 3, 80.
MUUTTUJAT JA VAKIOT
Esimerkki käytännön muuttujasta,
lompakko
, jonne voidaan laittaa (sijoittaa) rahaa (numeroarvo) ja lompakosta voidaan ottaa rahaa, mikäli lompakossa
on rahaa.Muuttujiin voidaan laskea ja sijoittaa tieto, mutta muuttujaan voidaan sijoittaa myös www-sivulta syötetty tieto lomakekentän avulla. Lomakekentistä ja niiden käyttämisestä löydät tietoa kohdasta Lomakkeet.
Vakio tarkoittaa esimerkiksi numero-arvoa, esimerkiksi piin likiarvo, tällöin vakion nimi olisi
PI
ja sen numeroarvo voisi olla 3.14. Vakiot voivat olla paikallisia tai globaaleja.MUUTTUJIEN KÄYTTÖ
Muuttujat esiteltävä eli määriteltävä ennen niiden käytöä. Muuttujat kannattaa esitellä PHP-koodauksen alussa. PHP-kielessä on neljä perustietotyyppiä joita voidaan muuttujiin tallentaa:Muuttujat | Selite |
---|---|
Kokonaisluku | $luku1 = 10; |
Merkkijono | $teksti = "iltaa"; |
Desimaaliluku | $luku1 = 0.5; |
Taulukot | $autot = array("Aston Martin", "Ford", "Audi"); |
PHP:ssa ei tarvitse määritellä muuttujien tyyppejä erikseen sen mukaan minkälaista tietoa niihin tallennetaan
MUUTTUJIEN NIMEÄMINEN
Muuttujien määrittelyn yleismuoto on:$nimi = sijoitettava tieto;
Muuttujat on hyvä nimetä kuvaamaan sitä tietoa mitä sinne talletaan, huomaa määrittely päättyy puolipisteeseen. Alla, esimerkkejä muuttujien määrittelyistä.
$luku1;
$Luku2 = 0;
$Luku_3 = 3.14;
$taulukko_pisteet = array(23.5, 45.5, 12);
Muuttujan nimi koostuu kirjaimista tai numeroista. Ensimmäisen merkin on oltava kirjain (myös alaviiva on sallittu). Kirjaimina voi käyttää sekä isoja että pieniä kirjaimia mutta ne merkitsevät eri asiaa.
Alla, sama sana muuttujan nimenä erilailla kirjoitettuna, joten kyseessä on eri muuttujat.
$max;
$Max;
$MAX;
$Luku_1;
$luku1;
$luku_1;
HUOM! Muuttujien nimissä ei ole suositeltavaa käyttää ä, Ä, ö, Ö, å tai Å kirjaimia !
KOKONAISLUKU-MUUTTUJAT
Kokonaisluku on positiivinen tai negatiivinen luku jossa ei ole desimaaliosaa. Mikäli muuttujalle halutaan antaa alkuarvo ohjelmoitaessa ohjelmaa, on ohjelmoijan se annettava.$alkuarvo = 0;
$tunteja = 24;
Alustamattomien muuttujien käyttöä tulee välttää. Muuttujalla voi olla määrittelyvaiheessa mikä arvo tahansa ellei ohjelmoija alusta muuttujaa. Muuttujiin joita käytetään lukujen käsittelyssä alkuarvoksi kannattaa sijoittaa 0.
Alla esimerkki-ohjelmassa, PHP-ohjelman alussa kokonaislukumuuttujiin
luku1
ja luku2
sen määrittelyn yhteydessä sijoitetaan alkuarvo./* Kokonaislukumuuttujan käyttö */ <!DOCTYPE HTML> <html lang="en"> <html> <head> <meta charset="UTF-8"> <title>TESTISIVU</title> </head> <body> <?php $luku1 = 5; $luku2 = 10; echo "$luku1 <br>"; echo $luku2; ?> </body> </html>
10
DESIMAALILUKU-MUUTTUJAT
Esimerkkiohjelmassa määritellään aluksi kolme muuttujaa,paino1
, paino2
ja paino3
joihin
sijoitetaan desimaaliluvut. Huomaa, muuttujien nimet kuvaavat PHP-koodauksessa käsiteltävää asiaa.
/* Desimaalimuuttujien käyttö */ <?php $Paino1 = 70.8; $Paino2 = 120.9; $Paino3 = 80.2; echo $kesk = ($Paino1+$Paino2+$Paino3)/3; ?>
Tehtävä 2 Touteuta PHP:llä kolmen vastuksen rinnankytkennän kokonaisvastuksen laskenta. - vastuksen arvot sijoitetaan muuttujien R1 R2 ja R3 arvoiksi. - muuttujiin sijoitetulla arvoilla lasketaan Rkok Rkok= 1/((1/R1)+(1/R2)+(1/R3))
Desimaaliluvun desimaalien määrä, pilkun käyttäminen ja yksiköiden merkitseminen.
/* Desimaalien määrä */ <?php $Luku = 3.3333333333; $Mitta = 12.454545; $Paino = 67.6666666; echo "Alkuperäiset arvot:<br> Luku = $Luku<br> Mitta = $Mitta<br> Paino = $Paino<br><br>"; echo "Desimaalit asetettuna:<br>"; $Luku = number_format($Luku, 2,',',' '); echo "Luku = $Luku<br>"; $Mitta = number_format($Mitta, 2,' m ',' '); echo "Mitta = $Mitta cm<br>"; $Paino = number_format($Paino, 3,' kiloa ',' '); echo "Paino = $Paino grammaa<br>"; ?>
Luku = 3.3333333333
Mitta = 12.454545
Paino = 67.6666666
Desimaalit asetettuna:
Luku = 3,33
Mitta = 12 m 45 cm
Paino = 67 kiloa 667 grammaa
MERKKIMUUTTUJAT
Merkkimuuttuja voi olla kirjain, teksti, numeroarvo, näppäimistöltä annettu muu merkki esim sulkumerkkiä tai kaikkien em yhdistelmä./* Merkkimuuttujien käyttö */ <?php $teksti = "vihreät miehet"; echo "Pienet " . $teksti . " ?"; ?>
Tehtävä 3 Sijoita alla olevat aforismit muuttujiin. Näytä aforismit yhdellä echo:lla, huomaa rivinvaihdot. Vinkki: lainausmerkin näytäminen PHP:ssä \" merkeillä. "Lähes kaikki suuri on nuorten tekemää." - Benjamin Franklin "Nuoressa ei huilaaminen mene hukkaan." - Suomalainen sananlasku "Nuoret ovat säännöllisesti ajattelemattomia." - Homeros
CSS-ohjeiden käyttäminen tekstin esittämisessä.
Esimerkeissä muutama tapa CSS-ohjeiden liitämiseksi PHP-koodaukseen.
Esimerkin CSS-ohjeet löydät täältä.
Huomaa esimerkissä p-elementin ohje muotoilee www-sivun kaikki p-tekstielementit:
<?php echo "<p style='color:BLUE'> Sininen teksti <br></p>"; echo "<p class='vihrea'> Muotoilun liittäminen class-määritteellä. <br></p>"; ?> <div class="violetti koko"> <?php $teksti1 = "Googlen fontti, fontin-väri ja -koko div:n avulla."; echo $teksti1 . "<br>"; echo "Tutustu myös Taulukot-kohdassa käytettyyn CSS-muotoiluun."; ?> <div>
Alla tulos www-sivulla.
Sininen teksti
Muotoilun liittäminen class-määritteellä.
Tutustu myös Taulukot-kohdassa käytettyyn CSS-muotoiluun.
Taulukon merkkien toimintaa ei ole vielä testattu !!!!!
Koodi | Selite |
---|---|
\b | "Backspace", vastaa toiminnaltaan ko painikkeen painallusta. (Enter-painikkeen yläpuolella) |
\r | "vaununpalautus", kursorin siirtäminen rivin lopusta rivin alkuun. |
\" | Lainausmerkki, käytetään tulostamaan www-sivulle tekstiin merkkejä joita käytetään muutoin tulostamisen ohjainmerkkeinä. |
\f | "Sivunsyöttö", siirtää kursorin "toiselle sivulle". |
\n | Rivinvaihto. |
\0 | Null-arvo. |
\' | Heittomerkki. |
\t | Vaakatabulointi, siirtää kursoria oikealla. |
\v | Pystytabulointi, siirtää kursoria alas. |
VAKIOT
Vakiot ovat tunnisteita ja arvoja, joita ei voi muuttaa esimerkiksi laskutoimituksessa. Vakio voi olla minkä tahansa perustietotyypin mukainen.Vakion arvoa ei voi muuttaa ohjelman suorituksen aikana. Muuttujille annettuja alkuarvoja voidaan muuttaa ohjelman suorituksen aikana.define ("ALV", 24); define ("TEKSTI", "Tähän kohtaan teksti.");
<?php define("TEKSTI", "Tervetuloa. Vakio-esimerkki !"); define("PII", 3.14); echo TEKSTI . " " . PII; ?>
Tehtävä 4 Toteuta seuraava pallon pinta-alan laskeva teksti. Etsi pallon pinta-alan laskukaava, PHP:llä toteutetun laskun tulos näytetään XXX-merkkien kohdalle. Määrittele vakioiksi PI sekä näytä echo:lla sivustolle teksti ja tulos: "Kun pallon säde on 10, on pallon pinta-ala XXX."
TAULUKOT
Taulukko on eräänlainen "luettelo", joka PHP:ssä voi koostua erityyppisistä muuttujista. Taulukon muuttujilla on yhteinen nimi, taulukon nimi. Jokaiseen yksittäiseen alkioon liittyy kokonaislukunumero, indeksi. Indeksien arvot ovat aina positiivisia kokonaislukuja. Taulukon ensimmäinen indeksi on nolla (0).Taulukon käyttöön ja määrittelyyn liityvät säännöt:
• taulukolla on oltava nimi
• taulukon alkioihin viitataan kokonaisluvulla tai muuttujalla
• taulukossa voi olla yksi- tai kaksiuloitteinen
Yksiulotteisen taulukon yleismuoto:
$taulukonnimi = array(alkion 1 sisältö, alkion 2 sisältö, ...);

Taulukoiden alustaminen:
Taulukoiden alkioille voidaan antaa arvot samalla kun taulukko määritellään.
Taulukkoon alustuksessa voidaan sijoittaa tekstiä.$lukuja = array(1, 1.5, 10, 10.85, 100);
Moniulotteiset taulukot$nimet = array("Aulis","Bertta","Cecilia","David","Erkki");
Moniulotteiset taulukot määritellään lähes samalla tavalla kuin yksiulotteiset taulukot. Alla, kaksiuloitteinen taulukko jossa on kaksi riviä ja kolme saraketta.
Moniulotteisen taulukon alustaminen:$taulukon_nimi = array ( array(alkio_0/0, alkio_0/1, alkio_0/2), array(alkio_1/0, alkio_1/1, alkio_1/2) );
Alustus toimii samalla periaatteella kuin yksiuloitteisessa taulukossa.
$juomat = array ( array("Jaffa", "1,5 litraa", 2), array("Pepsi Light", "1 litraa", 2.1) );
Esimerkkejä yksiuloitteisista taulukoista
Esimerkissä painot-taulukossa on lukuja, sijoitetuista luvuista lasketaan keskiarvo kahdella erilaisella tavalla. Ensimmäisessä keskiarvo lasketaan taulukon indeksien avulla, toisessa
array_sum()
-yhteenlasku-funktion ja count()
-funtiolla lasketun taulukon koon avulla:<?php $painot = array("70.8","120.9","80.2"); echo "Taulukon sisältö:<br>"; echo "$painot[0] $painot[1] $painot[2]" . "<br>"; echo "Keskiarvo laskettuna kahdella tavalla:<br>"; $Kesk = ($painot[0] + $painot[1] + $painot[2])/3; echo $Kesk . "<br>"; $Kesk = array_sum($painot) / count($painot); echo $Kesk; ?>
70.8 120.9 80.2
Keskiarvo laskettuna kahdella tavalla:
90.633333333333
90.633333333333
Tehtävä 5 Sijoita taulukkoon kolme vastuksen arvoa. Laske vastusten rinnankytkennän arvo taulukon neljänteen alkioon. Näytä www-sivulle taulukon sisältö seuraavasti: R1 = arvo Ω R2 = arvo Ω R3 = arvo Ω Rkok = arvo Ω
Alla sovelletaan yksiuloitteista taulukkoa näyttämällä taulukossa olevat tekstit muun tekstin jatkoksi:
<?php $osat = array("Mangoa", "Kiiviä", "Melonia", "Persikkaa", "Greippiä"); echo "Juoma on sekoite " . $osat[0] . ", " . $osat[1] . ",<br>" . ", " . $osat[2] . ", " . $osat[3] . " ja " . $osat[4] . "."; ?>
Melonia, Persikkaa ja Greippiä.
Tehtävä 6 Kokeile saatko näytettyä Moniuloitteisen taulukon alustaminen -kohdassa olevan juomat-taulukon sisällön.
Taulukkoon sijoitettujen alkioiden määrä voidaan kätevästi laskea
count()
-funktiolla. Vaihtoehtoinen funktio on sizeof()
.<?php $hedelmat = array("Mango", "Kiivi", "Meloni"); echo count($hedelmat); ?>
Tehtävä 7 Kopioi PHP-esimerkki (yllä) ja tarkista sen toiminta. Lisää taulukkoon yksi hedelmä sekä lisää count()-funktion alle rivinvaihto sekä sizeof()-funktio. Kokeile toimivatko lisäykset.
Esimerkissä (alla) tulostetaan
for
-lauseella taulukon sisältö alekkain.<?php $hedelmat = array("Mango", "Kiivi", "Meloni"); $koko = count($hedelmat); for($rivi = 0; $rivi < $koko; $rivi++) { echo $hedelmat[$rivi]; echo "<br>"; } ?>
Kiivi
Meloni
Tehtävä 8 Tee oppilas-niminen taulukko jossa on 7 riviä. Sijoita taulukon 1. riville oppilaan nimi (Sukunimi Etunimi). Sijoita neljälle seuraavalla erilaisia pisteitä 0 - 100 väliltä. Sijoita riveille 6 ja 7 alkuarvoksi nolla. Tee laskutoimitus joka laskee yhteen rivien 2 - 5 pisteet ja sijoittaa tuloksen kuudennelle riville. Näytä taulukon sisältö välilyönnein erotettuna-
Esimerkkejä moniuloitteisista taulukoista
Seuraavassa esimerkissä luodaan PHP:llä kuvan mukainen taulukko sekä näytetään taulukko.
Kuvan taulukon PHP-koodaus.
Esimerkissä taulukon näyttämiseen käytetty
echo
:t jaettu kahdelle riville tämän oppaan rajoitteiden takia.Varasto-taulukko näytetään www-sivulle kahdella erilaisella tavalla.
<?php $varasto = array ( array("TUOTE","MALLI","VARASTO","TILATTU","TOIMITETTU"), array("Skoda","Octavia",32,23,16), array("Skoda","SuperB",15,9, 7), array("Volvo","V90",10,4,3) ); echo "Taulukon sisältö (tapa 1):<br>><br>"; echo $varasto[0][0]." ".$varasto[0][1]." ".$varasto[0][2]." ". $varasto[0][3]." ".$varasto[0][4]."<br>"; echo $varasto[1][0]." ".$varasto[1][1]." ".$varasto[1][2]." ". $varasto[1][3]." ".$varasto[1][4]."<br>"; echo $varasto[2][0]." ".$varasto[2][1]." ".$varasto[2][2]." ". $varasto[2][3]." ".$varasto[2][4]."<br>"; echo $varasto[3][0]." ".$varasto[3][1]." ".$varasto[3][2]." ". $varasto[3][3]." ".$varasto[3][4]."<br>"; echo "<br>Taulukon sisältö (tapa 2):<br>><br>"; for($rivi=0;$rivi<4;$rivi++) { for($sarake=0;$sarake<5;$sarake++) { echo $varasto[$rivi][$sarake]." "; } echo "<br>"; } ?>
TUOTE MALLI VARASTO TILATTU TOIMITETTU
Skoda Octavia 32 23 16
Skoda SuperB 15 9 7
Volvo V90 10 4 3
Taulukon sisältö (tapa 2):
TUOTE MALLI VARASTO TILATTU TOIMITETTU
Skoda Octavia 32 23 16
Skoda SuperB 15 9 7
Volvo V90 10 4 3
Edellinen esimerkki oli www-sivulle näytettynä on sekava, alla esimerkissä hiukan selkeämmin muotoiltuna sama taulukko.
(Taulukkojen muotoilut voi tehdä esim täällä.)
TUOTE | MALLI | Varasto | Tilattu | Toimitettu |
---|---|---|---|---|
Skoda | Octacia | 32 | 23 | 16 |
Skoda | SuperB | 15 | 9 | 7 |
Volvo | V90 | 10 | 4 | 3 |
Yllä olevan taulukon PHP-koodaus sekä generaattorilla toteutetun CSS-muotoilun liittäminen taulukkoon:
<div class="CSSTableGenerator" > <?php echo "<table> <tbody><tr> <th> TUOTE </th> <th> MALLI </th> <th> Varasto </th> <th> Tilattu </th> <th> Toimitettu </th> </tr>"; $varasto = array( array("Skoda","Octacia","32","23","16"), array("Skoda","SuperB","15","9","7"), array("Volvo","V90","10","4","3"), ); for ($rivi = 0; $rivi <= count($varasto)-1; $rivi++) { echo "<tr>"; for ($sarake = 0; $sarake <= 4; $sarake++){ echo "<td>". $varasto[$rivi][$sarake] ."</td>"; } echo "</tr>"; } echo "</tr></tbody></table>"; ?> </div><br>
Esimerkkitaulukon CSS-muotoilun löydät täältä. Kopioi CSS-ohje ja liitä ohje sivun style-tiedostoon.
Esimerkkejä erilaisten taulukkojen rakentamisesta löydät linkeistä tai hakukoneilla termillä PHP table.
Github.com - erityylisiä taulukoita, ei sisällä CSS-muotoiluja.
http://html-generator.weebly.com -erilaisia generaattoreita.
Tehtävä 9 Tee 3 * 7 kaksiuloitteinen taulukko. Sijoita taulukkoon luvut 1 - 21. Tulosta taulukon sisältö kahden for-lauseen avulla.
Tehtävä 10 Muokkaa tehtävä 9 kaksi-uloitteista taulukkoa seuraavasti: 1. sarakkeisiin talletaan oppilaan nimi (esim Matti Markkanen). Rivien 2 - 5 sarakkeisiin koepisteet 0 - 100 . Rivien 6. sarakkeisiin lasketaan yhteispisteet. 7. sarakkeisiin tulee arvosana myöhemmin lisättävällä if-rakentteella joka antaa arvosanan yhteispisteiden perusteella. Pisterajat arvosanoille: jos pisteet pienempi kuin 120 -> 0 jos pisteet on 120 tai pienempi kuin 176 -> 1 jos pisteet on 176 tai pienempi kuin 232 -> 2 jos pisteet on 232 tai pienempi kuin 288 -> 3 jos pisteet on 288 tai pienempi kuin 344 -> 4 jos pisteet on 344 tai pienempi kuin 400 -> 5
Taulukossa erilaisia funktioita taulukon sisällön järjestämiseen.
Merkki | Selite | Esimerkki |
---|---|---|
sort() | Järjestää taulukon suurimmasta pienimpään / A:sta - Z:taan | Esimerkki |
rsort() | Järjestää taulukon pienimmästä suurimpaan / Z:sta - A:han | Esimerkki |
asort() | Järjestää taulukon suurimmasta pienimpään luvun mukaan | Esimerkki |
ksort() | Järjestää taulukon suurimmasta pienimpään kirjaimen mukaan | Esimerkki |
arsort | Järjestää taulukon pienimmästä suurimpaan luvun mukaan | Esimerkki |
krsort | Järjestää taulukon pienimmästä suurimpaan kirjaimen mukaan | Esimerkki |
Taulukoiden solujen nimeäminen
Taulukoiden solujen nimiä kutsutaan myös avaimeksi. Solun nimellä voidaan hakea taulukosta tieto esim www-sivulle näytettäväksi tai laskutoimitukseen. Kuvassa alla, marjat-taulukon soluille on annettu nimiksi soluA, soluB, soluC ja soluD.
Kuvan marjat-taulukossa
soluA - soluD
ovat avaimia eli taulukon solun nimiä. Taulukon varsinaisena sisältönä eli
arvoina (value) on erilaisia marjoja. Kuvan taulukko voidaan toteuttaa PHP:llä seuraavasti:<?php $marjat = array("soluA"=>"Mansikka", "soluB"=>"Mustikka", "soluC"=>"Puolukka", "soluD"=>"Lakka"); echo $marjat['soluA'] . "<br>"; echo $marjat['soluB'] . "<br>"; echo $marjat['soluC'] . "<br>"; echo $marjat['soluD']; ?>
Mansikka
Mustikka
Puolukka
Lakka
Tehtävä 11 Tee taulukko jossa on kolmen kokeen pisteet sekä varattu yhteispisteitä varten yksi rivi. Nimeä koepiste-rivit koe1-koe3 nimisiksi sekä sijoita riveille koepisteet numerona. Laske koepisteet yhteen yhteispiste-nimiselle riville käyttämällä rivien nimiä laskutoimituksessa.
Katso myös esimerkki täältä.
Kolmi-uloitteinen taulukko
Kolmi-uloitteissa taulukossa on kaksi tai useampi kaksi-uloitteinen taulukko yhdistetty yhdeksi kokonaisuudeksi.
Moni-uloitteisen taulukon tulostaminen listana:
(Lähde)
<?php $multiTaulu = array(array(array("Taulukko 1", 1.25, 15), array("Luvut 1", 10, 20), array("Luvut 1", 110, 120) ), array(array("Taulukko 2", 1.25, 15), array("Luvut 2", 20, 30), array("Luvut 2", 220, 230) ), array(array("Taulukko 3", 1.25, 15), array("Luvut 3", 30, 40), array("Luvut 3", 330, 340) ) ); echo "<ul>"; for ( $taso = 0; $taso < 3; $taso++ ) { echo "<li>Taulukko $taso"; echo "<ul>"; for ( $rivi = 0; $rivi < 3; $rivi++ ) { echo "<li>Rivi $rivi"; echo "<ul>"; for ( $sarake = 0; $sarake < 3; $sarake++ ) { echo "<li>".$multiTaulu[$taso][$rivi][$sarake]."</li>"; } echo "</ul>"; echo "</li>"; } echo "</ul>"; echo "</li>"; } echo "</ul>"; ?>
- Taulukko 0
- Rivi 0
- Taulukko 1
- 1.25
- 15
- Rivi 1
- Luvut 1
- 10
- 20
- Rivi 2
- Luvut 1
- 110
- 120
- Rivi 0
- Taulukko 1
- Rivi 0
- Taulukko 2
- 1.25
- 15
- Rivi 1
- Luvut 2
- 20
- 30
- Rivi 2
- Luvut 2
- 220
- 230
- Rivi 0
- Taulukko 2
- Rivi 0
- Taulukko 3
- 1.25
- 15
- Rivi 1
- Luvut 3
- 30
- 40
- Rivi 2
- Luvut 3
- 330
- 340
- Rivi 0