PHP - Muuttujat ja vakiot

MUUTTUJAT JA VAKIOT

PHP:ssa, kuten muissakin ohjelmointikielissä, muuttujia käytetään tiedon talletuspaikkana. Muuttujalle annetaan symbolinen nimi, nimi jolla kuvataan siihen tallennettua tietoa. Muuttujaan voidaan sijoittaa PHP-ohjelmassa arvo. Muuttujiin voidaan sijoittaa numero-arvoja, kirjaimia tai merkkejä. Muuttujaksi voidaan määritellä myös taulukko.

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äminen

Muuttujat esiteltävä eli määriteltävä ennen niiden käytöä. Muuttujat voidaan esitellä PHP-koodauksen alussa. PHP-kielessä on neljä perustietotyyppiä joita voidaan muuttujiin tallentaa:

Muuttujat Esimerkki
Kokonaisluku $luku1 = 10;
Merkkijono $teksti = "iltaa";
echo "Hyvää " . $teksti . ".";
Desimaaliluku $luku2 = 0.5;
Taulukko $autot = array("Aston Martin", "Ford", "Audi");
echo "Autoja " . $autot[0] . ", " . $autot[1] . " ja " . $autot[2] . ".";

PHP:ssa ei tarvitse määritellä muuttujien tyyppejä erikseen sen mukaan minkälaista tietoa niihin tallennetaan.


Muuttujien nimeäminen

Muuttujan määrittelyn yleinen muoto:

$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 voi koostuu kirjaimista ja 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;
   $luku1 = 2;
   $luku2 = 5;
   $tulos = $luku1 + $luku2;   
   

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.

1. Esimerkki. PHP-testiohjelman alussa kokonaislukumuuttujiin luku1 ja luku2 määrittelyn yhteydessä sijoitetaan alkuarvo.


  <!DOCTYPE html>
  <html>
   <head>
    <meta charset="UTF-8">
	<style>
	 .vari2{
	   color: Maroon;
     }
	</style>
   </head>
   <body>
   
   <div class="vari2">
    <?php
     $luku1 = 5; 
     $luku2 = 10;

     echo "$luku1 <br>";  
     echo $luku2; 
    ?>  
   </div>
   </body>
  </html>
  

Tulos www-sivulla:

5
10


Tehtävä 4

Tee PHP koodaus joka laskee yhteen muuttujiin sijoitetut kolme kokonaislukua ja sijoittaa laskun tuloksen muuttujaan.
Luvut ovat 3, 7 ja 70

Näytä muuttujien avulla luvut sekä laskutulos.

Käytä myös tekstissä CSS-ohjeella liitettyä tekstinväriä.


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:


  CSS-ohje:
  
  .vari2{
    color: Maroon;
  }
	 
  HTML- ja PHP-koodaus:
  
  <div class="vari2">
  <?php
   $Paino1 = 70.8;
   $Paino2 = 120.9; 
   $Paino3 = 80.2;  

   echo $kesk = ($Paino1+$Paino2+$Paino3)/3;
  ?>
  </div>
  

Tulos www-sivulla:

90.633333333333


Tehtävä 5

Toteuta PHP:llä kolmen vastuksen rinnankytkennän kokonaisvastuksen lasku.

- vastuksen arvot sijoitetaan muuttujien R1, R2 ja R3 arvoiksi
- muuttujiin sijoitetulla arvoilla lasketaan Rkok

Näytä muuttujien avulla luvut sekä laskutulos.

Käytä myös tekstissä CSS-ohjeella liitettyä tekstinväriä.


3. Esimerkki. Desimaaliluvun desimaalien määrä, pilkun käyttäminen ja yksiköiden merkitseminen:


  CSS-ohje:
  
  .koodisini{
    color: darkblue;
    font-size: 130%;
  }
  
  HTML- ja PHP-koodaus:
  
  <div class="koodisini">
  <?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>";
  ?>
  </div>  
  

Tulos www-sivulla:

Alkuperäiset arvot:
Luku = 3.3333333333
Mitta = 12.454545
Paino = 67.6666666

Desimaalit asetettuna:
Luku = 3,33
Mitta = 12 m 45 cm
Paino = 67 kiloa 667 grammaa


Merkki-muuttujat

Merkkimuuttuja voi olla kirjain, teksti, numeroarvo, näppäimistöltä annettu muu merkki esim sulkumerkkiä tai kaikkien em yhdistelmä.

4. Esimerkki. Näytetään muuttujissa olevia tekstejä echo:llä:


  CSS-ohje:
  
  .koodisini{
    color: darkblue;
    font-size: 130%;
  }
  
  HTML- ja PHP-koodaus:
  
  <div class="koodisini">
  <?php
     $teksti = "vihreät miehet";
	 $kysymys = "Marssista ?";
	 $vastaus = "Saturnuksesta!";	 
	 
     echo "Pienet " . $teksti . ".<br>";
	 echo "<span> Ovatko he $kysymys </span>";
	 echo "<p> Ei, he ovat $vastaus </p>";	 
  ?>
  </div>  
  

Tulos www-sivulla:

Pienet vihreät miehet.
Ovatko he Marssista ?

Ei, he ovat Saturnuksesta!



Tehtävä 6

Sijoita alla olevat aforismit muuttujiin, aforismit lainausmerkkien välissä.
Aforismin lausuja näytetään tavallisella tekstillä, ei siis muuttajan avulla. 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

Muotoile aforismit Google Fonts fontilla, aforismin lausuja tavallisella HTML-fontilla (fontti jota käytetään www.sivulla).
Vinkki: näytä aforismit käyttämällä <span> -elementtejä, joiden avulla voi liittää CSS-ohjeita.


CSS-ohjeiden liittäminen PHP-tekstin esittämiseen

5.Esimerkki. Muutama tapa CSS-ohjeiden liitämiseksi PHP-koodaukseen. Huomaa jos p-elementin CSS-ohje nipetään p-nimiseksi, se muotoilee www-sivun kaikki p-tekstielementit joilla ei ole class- tai id-tunnisteella asetettua CSS-ohjetta.


  head-elementtiin lisättävä linkki:
  
  <link href="https://fonts.googleapis.com/css?family=Satisfy&display=swap" rel="stylesheet">

  CSS-ohjeet, style-elementtiin head-elementin sisälle:

  .vihrea{
    color:GREEN; 
  }
  .violetti{
    color:Rgb(132,0,230);
    font-family: 'Satisfy', cursive;	  
  }
  .koko{
    font-size: 120%; 
  }
  
  HTML- ja PHP-koodaukset:
  
  <?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>
  

Tulos www-sivulla:

Sininen teksti

Muotoilun liittäminen class-määritteellä.

Googlen fontti, fontin-väri ja -koko div:n avulla.
Tutustu myös Taulukot-kohdassa käytettyyn CSS-muotoiluun.


Vakiot

Vakiot on arvoja jota ei voi muuttaa esimerkiksi laskutoimituksessa. Vakio voi olla minkä tahansa perustietotyypin mukainen.

Määritellään kaksi vakiota ALV ja TEKSTI sekä näille vakioille arvo:

define ("ALV", 24);
define ("TEKSTI", "Tähän kohtaan teksti.");


6. Esimerkki. Vakion arvoa ei voi muuttaa ohjelman suorituksen aikana. Muuttujille annettuja alkuarvoja voidaan muuttaa ohjelman suorituksen aikana.


  CSS-ohje:

  .vihrea{
    color:GREEN; 
  }
  
  HTML- ja PHP-koodaukset:

  <div class="vihrea">
   <?php
    define("TEKSTI", "Tervetuloa. Vakio-esimerkki !");
    define("PII", 3.14);
    echo TEKSTI . " " . PII;
  ?> 
  </div>
  

Tulos www-sivulla:

Tervetuloa. Vakio-esimerkki ! 3.14

Vakioita sekä muuttujia voidaan sijoittaa erilliseen PHP-tiedostoon ja linkittää käytettäväksi PHP-kooodauksessa. Asiasta lisää oppaan kohdassa Tiedostot.


Taulukot

Taulukko on eräänlainen "luettelo", joka PHP:ssä voi koostua eri tyyppisistä 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 yleinen muoto:

$taulukonnimi = array(alkion 1 sisältö, alkion 2 sisältö, ...);

Yksiuloitteisen taulukon alustaminen

Taulukon soluille tässä tapaukselle riveille voidaan antaa arvot samalla kun taulukko määritellään:

$lukuja = array(1, 1.5, 10, 10.85, 100);

Taulukossa (yllä) rivillä 0 on numero 1, rivillä 1 on numero 1,5, rivillä 2 on numero 10 jne.

Taulukkoon alustuksessa voidaan sijoittaa myös tekstiä:

$nimet = array("Aulis","Bertta","Cecilia","David","Erkki");

Taulukossa (yllä) Cecilia on rivillä 2.

$nimet = array("Aulis","Alanen","100",120);

Taulukon sisältönä voi olla tekstiä, tekstinä numeroarvoja ja numeroarvoja.



Kaksiulotteisen taulukon yleinen muoto:

$taulukonnimi = array(
                array(solun 0/0 sisältö, solun 0/1 sisältö, ...),
                array(solun 1/0 sisältö, solun 1/1 sisältö, ...));


Kaksiulotteisen taulukon alustaminen

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

7. Esimerkki. Taulukossa painot on lukuja, sijoitetuista luvuista lasketaan keskiarvo kahdella erilaisella tavalla. Ensimmäisessä keskiarvo lasketaan taulukon indeksien (rivinumeron) avulla, toisessa käyttäen array_sum()-yhteenlasku-funktiota ja count()-funtiolla lasketun taulukon koon avulla:


   <div class="pun">
   <?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;
   ?>
   </div>
  

Tulos www-sivulla:

Taulukon sisältö:
70.8 120.9 80.2
Keskiarvo laskettuna kahdella tavalla:
90.633333333333
90.633333333333

Tehtävä 7

Sijoita taulukkoon kolme vastuksen arvoa, esimerkiksi 10, sekä neljännelle riville arvoksi 0.
Muokkaa tehtävässä 5 toteutettu vastusten rinnankytkentä ratkaisu taulukko-versioksi, eli sama tehtävä taulukkoa käyttämällä.
Näytä www-sivulle taulukon sisältö seuraavasti:

R1 = arvo Ω
R2 = arvo Ω
R3 = arvo Ω
Rkok = arvo Ω


8.Esimerkki. Yksiuloitteista taulukosta näytetään tekstit echo-tekstin perään:


  <div class="pun">
   <?php
    $osat = array("Mangoa", "Kiiviä", "Melonia", "Persikkaa", "Greippiä");
    echo "Juoma on sekoite " . $osat[0] . ", " . $osat[1] . ", " .  
         $osat[2] . ", " . $osat[3] . " ja " . $osat[4] . ".";
   ?>
  </div>
  

Tulos www-sivulla:

Juoma on sekoite Mangoa, Kiiviä, Melonia, Persikkaa ja Greippiä.
Tehtävä 8

Toteuta tehtävä 6 käyttämällä taulukkoa, eli aforismit on tallennettu taulukkoon.


9. Esimerkki. Taulukkoon sijoitettujen alkioiden määrä voidaan laskea count( ) tai sizeof( ) funktiolla:


  <div class="pun">
   <?php
    $hedelmat = array("Mango", "Kiivi", "Meloni");
    echo count($hedelmat);
   ?>
  </div>
  

Tulos www-sivulla:

3
Tehtävä 9

Kopioi Funktion count() esimerkki(yllä) ja tarkista sen toiminta.

Lisää taulukkoon yksi hedelmä sekä lisää count()-funktion
alle rivinvaihto sekä sizeof()-funktio.

Kokeile toimivatko lisäykset.


Moniulotteiset taulukot

Moniulotteinen taulukko tarkoittaa usein kaksiuloitteista taulukkoa jossa on rivejä ja sarakkeita. PHP:llä voidaan luoda ryhmä kaksiuloitteisia taulukoita. Esimerkeissä kaksiulotteisia taulukoita sekä niiden CSS-ohjeiden tekemiseen vinkit.

10A. Esimerkki. Luodaan PHP:llä taulukko jossa on tekstiä, numerot tekstinä, numerot ja laskujen tuloksia varten arvoilla 0 varttuja taulukon soluja.


  <div class="pun">
   <?php
    echo "<h4>Kaksi-uloitteinen taulukko</h4>";
    $eka_taulu = 
       array  (
         array("Rivi 1:",  "10",20,0),
         array("Rivi 2:",  "20",30,0),
         array("Tulokset:"," 0", 0,0)
     );
    
	$eka_taulu[0][3] = $eka_taulu[0][1] + $eka_taulu[0][2];
	$eka_taulu[1][3] = $eka_taulu[1][1] + $eka_taulu[1][2];
	$eka_taulu[2][1] = $eka_taulu[0][1] + $eka_taulu[1][1];
	$eka_taulu[2][2] = $eka_taulu[0][2] + $eka_taulu[1][2];
	$eka_taulu[2][3] = $eka_taulu[0][3] + $eka_taulu[1][3];
	
	echo "<p> Taulukon sisältö laskutoimituksien jälkeen:<p>";
    
    echo $eka_taulu[0][0]." ".$eka_taulu[0][1]." ".$eka_taulu[0][2]." ". 
	      $eka_taulu[0][3]."<br>";
    echo $eka_taulu[1][0]." ".$eka_taulu[1][1]." ".$eka_taulu[1][2]." ". 
	      $eka_taulu[1][3]."<br>";
	echo $eka_taulu[2][0]." ".$eka_taulu[2][1]." ".$eka_taulu[2][2]." ". 
	      $eka_taulu[2][3]."<br>";
   ?>
  </div>
  

Tulos www-sivulla:

Kaksi-uloitteinen taulukko

Taulukon sisältö laskutoimituksien jälkeen:

Rivi 1: 10 20 30
Rivi 2: 20 30 50
Tulokset: 30 50 80


10B. Esimerkki. Luodaan PHP:llä kuvan (alla) mukainen varastotaulukko 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:


  <div class="pun">
   <?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>";
     }
   ?>
  </div>
  

Tulos www-sivulla:

Taulukon sisältö (tapa 1):

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

Ilman CSS-muotoiluja taulukot on sekavan näköisiä. Taulukoiden CSS-muotoilut on helpointa toteuttaa erilaisilta www-sivustoilta löydettävillä taulukko-generaattoreilla, näitä löytää hakusanalla CSS table generator.

11. Esimerkki. Edelliseen esimerkin liitetään CSS-ohje ja taulukon esittämiseen käytetään for-lauseita:


  <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>
  

Tulos www-sivulla:

TUOTE MALLI Varasto Tilattu Toimitettu
SkodaOctacia322316
SkodaSuperB1597
VolvoV901043

Esimerkki-taulukon CSS-ohjeet löydät täältä.

Esimerkin CSS-ohjetta voi käyttää kopioimalla CSS-ohje ja liitämällä ohje sivun style-elementtiin tai erillisen style-tiedosta link-elementin avulla.

Esimerkkejä erilaisten taulukkojen rakentamisesta löydät hakukoneilla termillä PHP table.

Tehtävä 10

Tee kaksiuloitteinen taulukko, 3 riviä ja 7 saraketta. Sijoita taulukkoon luvut 1 - 21.
Tulosta taulukon sisältö kahden for-lauseen avulla.


Tehtävä 11

Muokkaa tehtävän 10 kaksi-uloitteista taulukkoa seuraavasti:

Riveillä, 1. sarakkeisiin sijoitetaan oppilaan nimiä (esim Matti Markkanen).
Riveillä, 2 - 5 sarakkeisiin koepisteet 0 - 100.
Riveillä, 6. sarakkeisiin lasketaan yhteispisteet eli toteuta laskukaavat joilla laskut tehdään.

Riveillä, 7. sarakkeisiin tulee arvosana myöhemmin koodattavilla if-rakentteilla,
if-rakenteet antavat arvosanan yhteispisteiden perusteella.

arviointi sovellus ei näy

Pisterajat arvosanoille (tämä lisätään myöhemmin):
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


Taulukon sisältöjä voidaan järjestellä PHP-funktioilla:

Funktio Selite Esimerkki
sort() Järjestää taulukon suurimmasta pienimpään / A:sta - Z:taan Avaa
rsort() Järjestää taulukon pienimmästä suurimpaan / Z:sta - A:han Avaa
asort() Järjestää taulukon pienimmästä suurimpaan luvun mukaan
ksort() Järjestää taulukon tai objektin A:sta - Z:taan
arsort Järjestää taulukon suurimmasta pienimpään luvun mukaan
krsort Järjestää taulukon tai objektin Z:sta - A:han

Taulukon solujen nimeäminen, objektit

Taulukoiden solujen nimiä kutsutaan myös avaimeksi, mutta virallisemmin objekteiksi. 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 esimerkin:


  <div class="pun">
  <?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'];
  ?>
  </div>
  

Tulos www-sivulla:

Mansikka
Mustikka
Puolukka
Lakka

Tehtävä 12

Toteuta arvio-niminen objekti, jossa on kolmen kokeen pisteet sekä rivi yhteispisteitä varten.

Nimeä koepiste-rivit koe1 - koe3 nimisiksi sekä sijoita riveille koepisteet numero-arvoina.

Toteuta laskukaava joka laskee yhteispiste-nimiselle riville.


Objektien avulla on mahdollista toteuttaa myös laskutoimituksia, esimerkki:


  <div class="pun">
  <?php
    $lasku = array("luku1"=>7.4, "luku2"=>12.7, 
                    "teksti"=>"Keskiarvo:", "tulos"=> 0);
  
    $lasku['tulos'] = ($lasku['luku1'] + $lasku['luku2'])/2;
	
    echo $lasku['teksti'] . "<br>";
    echo "Luku 1 = " . $lasku['luku1'] . "<br>";
    echo "Luku 2 = " . $lasku['luku2'] . "<br>";
    echo "Tulos = "  . $lasku['tulos'];
  ?>
  </div>
  

Tulos www-sivulla:

Keskiarvo:
Luku 1 = 7.4
Luku 2 = 12.7
Tulos = 10.05

Kolmi-uloitteinen taulukko

Kolmi-uloitteissa taulukossa on kaksi tai useampi kaksi-uloitteinen taulukko yhdistetty yhdeksi kokonaisuudeksi.
(lähde: http://webcheatsheet.com/)

Moni-ulotteinen taulukko, koodaus:


  <div class="pun">
  <?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>";
  ?>
  </div>
  

Tulos www-sivulla:

  • Taulukko 0
    • Rivi 0
      • Taulukko 1
      • 1.25
      • 15
    • Rivi 1
      • Luvut 1
      • 10
      • 20
    • Rivi 2
      • Luvut 1
      • 110
      • 120
  • Taulukko 1
    • Rivi 0
      • Taulukko 2
      • 1.25
      • 15
    • Rivi 1
      • Luvut 2
      • 20
      • 30
    • Rivi 2
      • Luvut 2
      • 220
      • 230
  • Taulukko 2
    • Rivi 0
      • Taulukko 3
      • 1.25
      • 15
    • Rivi 1
      • Luvut 3
      • 30
      • 40
    • Rivi 2
      • Luvut 3
      • 330
      • 340