PHP - Taulukko-funktiot esimerkkejä

Taulukko-funktiot array()

Taulukko funktiot on nimensä mukaan tarkoitettu taulukko-muotoisen tiedon käsittelyyn. Alla vihannes-taulukko:



  <!DOCTYPE html>
  <html>
   <head>
    <meta charset="UTF-8">
	<style>
	 .pun{
       color: darkred;
     }
	</style>
   </head>

   <body>
    <div class="pun">
    <?php
      $vihannes = array("punajuuri","porkkana","peruna"); 
      echo "Vihannekset " . $vihannes[0] . 
	  ", " . $vihannes[1] . " ja " . $vihannes[2] . "."; 
    ?>
    </div>
	
   </body>
  </html>
  

Tulos www-sivulla:

Vihannekset punajuuri, porkkana ja peruna.

Omat funktiot

Sisäänrakennettujen PHP-funktioiden lisäksi voidaan myös luoda omia funktioita sekä hyödyntää omissa funktioissa PHP:n funktioita.

Itse luodun funktion (aliohjelman) yleinen rakenne:

 function funktionNimi()
 {
   funktiolle määritetyt tehtävät;
 }
 funktionNimi();
  

Huomaa funktioista seuraavat:
1. Tarvitaan funktio jolle on määritelty nimi sekä tehtävät.
2. Funktiokutsulla siirrytään itse funktioon tekemään määriteltyjä tehtäviä.
3. Funktio on kirjoitettava koodaukseen ennen funktiokutsua !!!
4. Yhden www-sivun koodauksessa (samassa tiedostossa) ei toimi samannimiset funktiot.

Alla oleva testitiedosto-esimerkki 1 tulostaa näytölle tekstin "Hyvää iltaa!":


  <!DOCTYPE html>
  <html>
   <head>
    <meta charset="UTF-8">
	<style>
	 .pun{
       color: darkred;
     }
	</style>
   </head>

   <body>
    <div class="pun">
    <?php
     function naytaTeksti()
     {
       echo "Hyvää iltaa!";
     }
     naytaTeksti(); 
    ?>
    </div>
   </body>
  </html>
  

Tulos www-sivulla:

Hyvää iltaa!

Tehtävä 28 Kirjoita funtio joka laskee kolmen vastuksen rinnankytkennän sekä näyttää laskussa käytettyjen vastusten ja kokonaisvastuksen arvot.
Esim.
RI - 100 Ω
R2 - 100 Ω
R3 - 100 Ω>br> Rkok - 33.333333 Ω


Argumenttifunktioksi kutsutaan sellaista funktiota jonne funktiokutsussa siirretään tietoa.

PHP-esimerkkikoodauksessa 2 siirrytään funktiokutsulla viisi kertaa sukuNimi-funktioon siirtäen funktioon etunimi. Etunimi sijoittuu funktion-määrittely osassa olevaan $etunimi-muuttujaan ja on sen jälkeen funktion sisällä käytettävissä.


    <div class="pun">
	<?php
     function sukuNimi($etunimi) 
     {
       echo "$etunimi Virtanen.<br>";
     }
     sukuNimi("Jani");
     sukuNimi("Veijo");
     sukuNimi("Raineri");
     sukuNimi("Tenho");
     sukuNimi("Jaakko"); 
    ?>
	</div>
  

Tulos www-sivulla:

Jani Virtanen.
Veijo Virtanen.
Raineri Virtanen.
Tenho Virtanen.
Jaakko Virtanen.

Tehtävä 29
Tee PHP-ohjelma jossa funktioon siirretään ympyrän säteen arvo.
Funktio laskee ja näyttää ympyrän pinta-alan sekä kehän pituuden.


Esimerkki 3. Funktioon siirretään kaksi tietoa:


    <div class="pun">
	<?php
      function etuNimi($nimi, $vuosi)
      {
        echo "$nimi Rupunen. Syntyi vuonna $vuosi <br>";
      }
      etuNimi("Tuomas", "1975");
      etuNimi("Henri", "1978");
      etuNimi("Petteri", "1983"); 
    ?>
	</div>
  

Tulos www-sivulla:

Tuomas Rupunen. Syntyi vuonna 1975
Henri Rupunen. Syntyi vuonna 1978
Petteri Rupunen. Syntyi vuonna 1983

Tehtävä 30
Muuta esimerkkiä seuraavasti:
- Tuomas on 25, Henri on 27 ja Petteri 30 vuotias
- siirrä ikä funktiokutsulla yhdessä etunimen kanssa
- lisää muuttuja johon sijoitetaan nykyinen vuosiluku sekä
lisää funktioon laskutoimitus joka laskee syntymävuoden
- näytä esimerkin mukaisesti www-sivulle


Esimerkki 4. Funktion määrittelyssä asetetaan minimiKorkeus-muuttujalle oletusarvoksi 50 jota käytetään mikäli funktioon ei siirretä tietoa, esimerkiksi funktiokutusuna testiKorkeus(); :


    <div class="pun">
	<?php
      function testiKorkeus($minimiKorkeus = 50) 
      {
        echo "Korkeus on : $minimiKorkeus <br>";
      }
      testiKorkeus(350);
      testiKorkeus(); 
      testiKorkeus(135);
      testiKorkeus(80); 
    ?>
	</div>
  

Tulos www-sivulla:

Korkeus on : 350
Korkeus on : 50
Korkeus on : 135
Korkeus on : 80

Tehtävä 31
Muuta esimerkkiä seuraavasti:
- numero-arvot on sijoitettu PHP-koodauksen alussa
muuttujiin sekä muuttujien avulla arvot siirretään funktioon.


Funktioon voidaan siirtää tietoja muuttujien avulla.
Esimerkki 5. Funktioon siirretään muuttujissa olevat teksti ja taulukko. Taulukossa on suorakulmaisen kolmisivut, muuttujassa teksti, esimerkki laskee kolmion hypotenuusan siihen tarkoitetulla matematiikkafunktiolla:


    <div class="pun">
	<?php
      $sivut = array(25,50);
      $teksti1 = "hypotenuusa";

      function kolmioLasku($sivut,$teksti1) {
        echo "Kolmion sivut ovat ".$sivut[0]." ja ". $sivut[1]. " jolloin<br>";
        echo $teksti1." on ".hypot($sivut[0],$sivut[1]);
      }

      kolmioLasku($sivut,$teksti1); 
    ?>
	</div>
  

Tulos www-sivulla:

Kolmion sivut ovat 25 ja 50 jolloin
hypotenuusa on 55.901699437495

Tehtävä 32
Tee funktio nimeltään pyoristaLuku jossa näytetään funktioon
siirretty luku sekä floor(X)-funktiolla pyöristetty luku X.
Näytä luvut funktiolla esimerkin mukaisesti alekkain:
Luku 2,34 on pyöristettynä 2
Luvut ovat seuraavat:
2,35
5,55
-101,2
-219,7


Esimerkissä 6 suoritetaan yhteenlaskuja, funktiokutsut on sijoitettu echo-lauseisiin. Huomaa funktion viimeisenä rivinä on return $summa; jolla siirretään summa-muuttujassa oleva tulos näytettäväksi funktion ulkopuolella echo-lauseessa.


    <div class="pun">
	<?php
      function yhteenlasku($luku1, $luku2) 
      {
        $summa = $luku1 + $luku2;
        return $summa;
      }
      echo "5 + 10 = " . yhteenlasku(5, 10) . "<br>";
      echo "7 + 13 = " . yhteenlasku(7, 13) . "<br>";
      echo "2 + 4 = "  . yhteenlasku(2, 4); 
    ?>
	</div>
  

Tulos www-sivulla:

5 + 10 = 15
7 + 13 = 20
2 + 4 = 6

Tehtävä 33
Sovella esimerkkiä kolmen vastuksen rinnankytkennän laskemiseen seuraavasti:
- vastusten arvot sijoitetaan muuttujiin R1,R2 ja R3
funktion ulkopuolella PHP-koodin alussa
- edellä mainittuissa muuttujissa olevan arvot siirretään
rinnanLasku-funktioon kuten esimerkissä
- funktiosta palautetaan Rkok-muuttujan avulla tieto näytettäväksi
kuten esimerkissäkin


Taulukko-funktiot

Taulukoiden käsittelyyn on valmiita PHP-funktioita sekä käsittelyyn voidaan liittää itsekoodattuja funktioita.

Taulukko funktiot - (avaa .. sulje)



Aikaan liittyvät funktiot

Aika-funktioilla voidaan toteuttaa kellon aikaan ja päivämääriin liittyviä sovelluksia esimerkiksi kalentereita ja lomaketietojen lähettämisajat.

Aikaan liittyviä funktioita - (avaa .. sulje)


Aikavyöhykkeiden asettamiseen esimerkiksi date()-funktiossa tarvitaan asetukseksi maanosa ja paikkakunta (kaupunki) tieto, löydät ne täältä.


Matemaattiset funktiot

PHP:llä voidaan suorittaa matemaattisia tehtäviä joiden suorittamiseen ja suorittamisen osina voidaan käyttää valmiita funktioita.

Matemaattiset-funktiot - (avaa .. sulje)



Hakemisto funktiot

Hakemisto-funktioita käytetään www-palvelimella olevien hakemisto-rakenteiden (kansiot) ja hakemistojen tiedostojen selvittämiseen sekä liikkumiseen hakemistorakenteessa.

Hakemisto-funktiot - (avaa .. sulje)

Funktio Selite Linkki esimerkkiin
chdir() Siirtyminen nykyisestä kansiosta ilmoitettuun kansioon Siirry kansioon
chroot() Siirtyminen suoraan ns juureen eli pääkansioon Siirry pääkansioon
dir() Sulkee tiedostojen käsittelyn Sulje hakemisto
getcwd() Palauttaa tiedostolistauksen Palaa työkansioon
opendir() Avaa tiedostolistaus Avaa hakemisto
readdir() Lue tiedosto Lue tiedosto
rewinddir()Sulkee opendir() toiminnon Sulje hakemisto
scandir() Palauttaa taulukkoon tiedosto ja hakemistot Näytä tiedosto ja hakemistot


Tiedostojärjestelmä funktiot

Tiedostoihin kohdistettavia sekä liittyviä funktioita. Esimerkiksi jonkin tiedoston kopiointi toiseksi samaa tietdostotyyppia olevaksi tiedostoksi.

Tiedostojärjestelmä-funktiot - (avaa .. sulje)



Virheidenkäsittely funktiot

Selvitä tarkemmin ja lisää teksti.

Virheidenkäsittely-funktiot - (avaa .. sulje)



Suodatin funktiot

Selvitä tarkemmin ja lisää teksti

Suodatin-funktiot - (avaa .. sulje)



FTP- ja HTTP-funktiot

Selvitä tarkemmin ja lisää teksti.

FTP- ja HTTP-funktiot - (avaa .. sulje)



Libxml funktiot

Selvitä tarkemmin ja lisää teksti.

Libxml-funktiot - (avaa .. sulje)



Sähköposti funktiot

Selvitä tarkemmin ja lisää teksti.

Sähköposti-funktiot - (avaa .. sulje)



Joukko erilaisia PHP-funktioita

Selvitä tarkemmin ja lisää teksti.

Sekalaiset funktiot - (avaa .. sulje)



MySQLi funktiot

MySQL-tietokantaan liittyviä funktioita käytetään em tietokannan yhteydessä.

MySQLi-funktiot - (avaa .. sulje)



SimpleXML & XML funktiot

XML-tiedostoihin voidaan tallentaa tietoa lomakkeiden kautta ja tietoa voidaan lukea näytettäväksi www-sivulle.

SimpleXML & XML funktiot - (avaa .. sulje)



Merkkijono funktiot

Merkkijonoja mutta myös yksittäisiä merkkejä voidaan käsitellä omilla funktioillaan.

Merkkijono-funktiot - (avaa .. sulje)



Pakkaamiseen funktiot

Pakattuja tiedostoja käsitellään omilla funktioillaan.

Pakkaamisen-funktiot - (avaa .. sulje)



Muuttuja funktiot

Muuttujien tutkimiseen ja käsittelyyn liittyviä funktioita.

Muuttuja-funktiot - (avaa .. sulje)



Verkko funktiot

Pakattuja tiedostoja käsitellään omilla funktioillaan.

Verkko-funktiot - (avaa .. sulje)



Jono funktiot (stream)

Streams are the way of generalizing file, network, data compression, and other operations which share a common set of functions and uses.

Jono-funktiot - (avaa .. sulje)



JSON funktiot(JavaScript)

JavaScript:eihin liittyvät funktiot.

JavaScript-funktiot - (avaa .. sulje)











KESKEN !!!

TEHTÄVÄ 1 Toteuta www-sivulle kaksi painiketta JavaScript:iä käyttäen:

Vaihda 1, josta vaihtuu painikkeen yläpuolella oleva teksti
Vaihda 2, josta vaihtuu painikkeen alapuolella oleva teksti



TEHTÄVÄ 2 Hae Google:lla kaksi pientä kuvaa ja lisää www-sivulle
kaksi kuva-elementtiä (img) JavaScript:iä käyttäen:

Kuvasta 1, josta vaihtuu painikkeen yläpuolella oleva teksti
Kuvasta 2, josta vaihtuu painikkeen alapuolella oleva teksti
Lisää kuville myös CSS-ohje jolla kuvaa klikatessa www-sivulla esitetään "painamis-efekti."