Tehtävä 1 Kirjoita PHP-koodi joka laskee sade-muuttujaan sijoitetun arvon avulla ympyrän kehän mitan, pinta-alan sekä pallon tilavuuden.
OPERAATTORIT
SIJOITUS-OPERAATTORI
Sijoituslauseet, joissa käytetään sijoitusoperaattorina=
-merkkiä kirjoitetaan muodossa:$tunniste = ilmaus;
Esimerkkejä:
Esimerkissä (yllä), määritellään aluksi muuttuja$numero = 21; $luku = numero;
numero
jonne sijoitetaan numeroarvo 21. Seuraavaksi määritellään muuttuja luku
jonne sijoitetaan numero
-muuttujassa oleva tieto eli numero 21. ARITMEETTISET-OPERAATTORIT
PHP-kielessä on käytössä viisi aritmeettista operaattoria:Merkki | Selite | Esimerkki |
---|---|---|
+ | Yhteenlasku | Katso esimerkit täältä |
- | Vähennyslasku | |
* | Kertolasku | |
/ | Jakolasku | |
% | Jakojäännös, vain kokonaisluvuille |
Esimerkissä (alla), muuttujiin sijoitetaan numeroarvot, lasketaan muuttujat (muuttujissa olevat numerot) yhteen ja näytetään www-sivulle tulos.
/* Aritmeettiset-operaatiot */ <!DOCTYPE HTML> <html lang="en"> <html> <head> <meta charset="UTF-8"> <title>TESTISIVU</title> </head> <body> <?php $luku1 = 10; $luku2 = 6; echo $luku1 + $luku2; ?> </body> </html> Sjöman
16
VERTAILU-OPERAATTORIT
Vertailuoperaattorit vertaavat kahta arvoa keskenään. Vertailuoperaattoreita käytetään esimerkiksi valintoja tekevissä rakenteissa sekä toistorakenteissa. Esimerkiksi; onkoluku
suurempi kuin 100 tai onko luku1
suurempi tai yhtäsuuri kuin luku2
.
Lisää vertailuoperaattoreista oppaan kohdissa Valinnat ja Toistaminen.C-kielen vertailuoperaattorit:
Merkki | Selite | Esimerkki |
---|---|---|
< | Pienempi kuin | Katso kaikki esimerkit täältä |
> | Suurempi kuin | |
<> | Erisuuri kuin | >= | Suurempi tai yhtäsuuri kuin |
<= | Pienempi tai yhtäsuuri kuin | |
!= | Erisuuri kuin | |
!== | Ei ole identtinen | |
== | Yhtäsuuri kuin | |
=== | Identtinen |
Esimerkkiohjelmassa (alla), vertaillaan
var_dump()
-funtiolla onko luku1
ja luku2
-muuttujat yhtäsuuria./* vertailuoperaattorit */ <?php $luku1 = 100; $luku2 = "100"; var_dump($luku1 == $luku2); ?>
bool(true)
UNAARISET-OPERAATTORIT
(muuttujan arvon kasvatus tai vähennys)
Unaariset-operaattorit tarkoittavat muuttujan arvon kasvattamista numerolla 1 tai vähentämistä numerolla 1. Unaariset-operaattorit ovat inkrementointi- (lisäys) ja
dekrementointioperaattorit (vähennys).
Esim.
Operaattorin ollessa ennen operandia, operandin arvo muuttuu ennen operandin käsittelyä komentolauseessa. Mikäli operaattori on operandin jälkeen, operandin arvoa muutetaan sen jälkeen, kun operandin suhteen on suoritettu komentolauseen mukaiset toimenpiteet. Unaarisia-operaattoreita käytetään usein toistolauseissa, esimerkiksi$luku_A = 0; $luku_A = 0; ++$luku_A; /* vastaa $luku_A = $luku_A + 1; */ $luku_A++; --$luku_A; /* vastaa $luku_A = $luku_A - 1; */ $luku_A--;
for
-toistolauseessa.Merkintä | Selite | |
---|---|---|
$luku++ | Lisää muttujan $luku arvoa yhdellä, muuttujan käytön jälkeen | |
++$luku | Lisää muttujan $luku arvoa yhdellä, ennen muuttujan käyttöä | |
$luku–- | Vähentää muttujan $luku arvoa yhdellä, muuttujan käytön jälkeen | |
–-$luku | Vähentää muttujan $luku arvoa yhdellä, ennen muuttujan käyttöä |
/* vähennysoperaattorin käyttö */ <?php $luku1 = 1; echo $luku1++ . "<br>"; echo $luku1 . "<br>"; echo --$luku1; ?>
1
2
1
Tehtävä 2 Tee seuraava laskutoimitus käyttäen unaarisia-operaattoreja: Tulosta luvusta 10 luku 9 ja luvusta 9 luku 10.
Unaarisia-operaattoreita käytetään usein toistolauseissa, esimerkiksi for-lauseessa.
LOOGISET-OPERAATTORIT
Ohjelmoinnissa loogiset-operaatiot toimivat samalla periaatteella kuin elektroniikan puolella. Esimerkiksi, tutkitaan kahden muuttujan arvoa joiden perusteella ratkaistaan tehdäänkö seuraava komento.Loogisia-operaattoreita käytetään esimerkiksi
if
ja for
-lauseiden yhteydessä testatessa erilaisia ehtoja.Esimerkki.
Jos tulos on suurempi kuin 10 JA tulos on pienempi kuin 20
:
PHP:n loogiset operaattorit:if (tulos > 10 && tulos < 20)
Merkki | Selite (eng) | Selite | Esimerkki |
---|---|---|---|
and | AND | JA, totta vain jos molemmat ehdot on tosia | Esimerkki |
or | OR | TAI, jos jompikumpi ehto tai molemmat on tosia | Esimerkki |
xor | XOR | Totta jos jompikumpi ehto on tosi, mutta ei kummatkin | Esimerkki |
&& | AND | JA, totta vain jos molemmat ehdot on tosia | |
| | | OR | TAI, jos jompikumpi ehto tai molemmat on tosia | |
! | NOT | Totta jos $luku ei ole totta | Esimerkki |
Operaattorin ollessa ennen operandia, operandin arvo muuttuu ennen operandin käsittelyä komentolauseessa. Mikäli operaattori on operandin jälkeen, operandin arvoa muutetaan sen jälkeen, kun operandin suhteen on suoritettu komentolauseen mukaiset toimenpiteet.
Esimerkki. Jos luku1 on yhtäsuuri kuin 100 JA luku2 on yhtäsuuri kuin 50, tulostuu www-sivulle
Hyvää päivää!
-teksti./* loogisten operaattorien käyttö */ <?php $luku1 = 100; $luku2 = 50; if ($luku1 == 100 and $luku2 == 50) { echo "Hyvää päivää!"; } ?>
Hyvää päivää!
Tehtävä 3 Muuta yllä oleva esimerkki toteuttamaan seuraavan: Luku1 on 50 ja luku2 on 100. Jos luku1 on suurempi tai yhtäsuuri kuin 50 ja pienempi kuin 100, tulostuu teksti Luku 1 on 50 tai pienempi kuin 100. Jos luku2 on suurempi kuin 100, tulostuu teksti Luku2 on suurempi kuin 100.
SUORITUSJÄRJESTYS
Operaattoreilla on suoritusjärjestys. Operaattorit, joilla on korkein suoritusoikeus ovat listan alussa. Alhaisemman suoritusoikeuden omaavat operaattorit ovat listassa alempana. Sitovuus määrää laskemissuunnan. Esim. sijoitusoperaattorin (=) suhteen sitovuus oikealta vasemmalle tarkoittaa sitä, että oikealla oleva lauseke sijoitetaan vasemmalla olevaan muuttujaan.(HUOM !! 24.3.2016 !
Suoritusjärjestys taulukossa on C-kielen, PHP:n osalta asia on tarkistamatta)
Operaattorien suoritusjärjestys:
Operaattorityyppi | Operaattori | Sitovuus |
---|---|---|
Unaarinen | --, ++ | ov |
Looginen NOT | ! | ov |
Kertominen, jakaminen | *, /, % | vo |
Yhteen-, vähennyslasku | +, - | vo |
Vertailu | <, <=, >, >= | vo |
Vertailu | = =, != | vo |
Looginen AND | && | vo |
Looginen OR | || | vo |
Sijoitus | = | ov |
Sulkumerkeillä voidaan operaattorien suoritusjärjestystä muuttaa !
MERKKIJONO-OPERAATTORIT
Merkkijono-operaattoreilla yhdistetään merkkijonoja näytettäessä niitä www-sivulle.Merkki | Selite | Esimerkki |
---|---|---|
. | $txt1 ja $txt2 yhteenliittäminen | Esimerkki |
.= | Liittää $txt2 $txt1:seen |
OSOITIN-OPERAATTORIT
Osoitin-operaattoreilla operoidaan taulukkoja sekä tutkitaan niiden sisältöjä.Merkki | Selite | Esimerkki |
---|---|---|
+ | Yhdistää kahden taulukon sisällön yhdeksi | Esimerkki |
== | Jos taulukoiden $taulu1 ja $taulu2 arvot sekä solujen nimet ovat samanlaiset, tulostuu true eli tosi | Esimerkki |
=== | Jos taulukoiden $taulu1 ja $taulu2 arvot, solujen nimet ovat samanlaiset, samassa jäjestyksessä sekä samanyyppiset, tulostuu true eli tosi | Katso edellinen esimerkki |
!= | Jos taulukoiden $taulu1 ja $taulu2 samanlaisia, tuostuu true eli tosi | Esimerkki |
<> | Jos taulukoiden $taulu1 ja $taulu2 samanlaisia, tuostuu true eli tosi | Katso edellinen esimerkki |
!== | Jos taulukoiden $taulu1 ja $taulu2 identtisiä, tuostuu true eli tosi | Katso edellinen esimerkki |