PHP - Operaattorit, pieniä ohjelma-esimerkkejä

Aritmeettiset-operaattorit

Aritmeetisilla-operaattoreilla suoritetaan yksinkertaisia laskutoimituksia, yhteen-, vähennys-, kerto- ja jakolaskuja sekä jakojäännöksen selvittäminen.

$tulos = $muuttuja1 operaattori $muuttuja1;

Esimerkissä on käytetty kaikkia aritmeettisia operaattoreita.


  <div class="vari2">
  <?php
    $tulos = 0;
    $luku1 = 5; 
    $luku2 = 2;

    $tulos = $luku1 + $luku2;
    echo $tulos . "<br>";
    $tulos = $luku1 - $luku2;
    echo $tulos . "<br>";
    $tulos = $luku1 * $luku2;
    echo $tulos . "<br>";
    $tulos = $luku1 / $luku2;
    echo $tulos . "<br>";
    $tulos = $luku1 % $luku2;
    echo $tulos . "<br>";
    
	/* $tulos = $luku1 ** $luku2;
    Yllä, PHP 5.6:n potenssilasku */
  ?>
  </div>  
  

Tulos www-sivulla:

7
3
10
2.5
1



Vertailu-operaattorit

Vertailu-operaattoreiden avulla voidaan verrata muuttujassa olevaa tietoa numero-arvoon, merkkiin tai merkkijonoon. Vertailtavat tiedot voivat myös olla molemmat muuttujiin talletettuina.

Esimerkissä tutkitaan var_dump()-funktion avulla pitääkö vertailu paikkansa, eli onko kyseessä tosi vai epätosi lauseke.


  <div class="vari2">
  <?php
   $Luku_1 = 5; 
   $Luku_2 = "5";
 
   echo "Onko luku_1 < luku_2   --> "; /*pienempi*/
   var_dump($Luku_1 < $Luku_2);
   echo "<br>";
   
   echo  "Onko luku_1 > luku_2   --> "; /*suurempi*/
   var_dump($Luku_1 > $Luku_2);
   echo "<br>";
    
   echo  "Onko luku_1 <> luku_2  --> "; /*eri suuri*/
   var_dump($Luku_1 <> $Luku_2);
   echo "<br>";
    
   echo "Onko luku_1 >= luku_2  --> "; /*suurempi tai yhtäsuuri*/
   var_dump($Luku_1 >= $Luku_2);
   echo "<br>";
    
   echo "Onko luku_1 <= luku_2  --> "; /*pienempi tai yhtäsuuri*/
   var_dump($Luku_1 <= $Luku_2);
   echo "<br>";
   echo "<br>";
       
   echo "Onko luku_1 != luku_2  --> "; /*eri suuri*/
   var_dump($Luku_1 != $Luku_2);
   echo "<br>";
    
   echo "Onko luku_1 !== luku_2 --> "; /*ei ole identtinen*/
   var_dump($Luku_1 !== $Luku_2);
   echo "<br>";
    
   echo "Onko luku_1 == luku_2  --> "; /*yhtäsuuri*/
   var_dump($Luku_1 == $Luku_2);
   echo "<br>";
    
   echo "Onko luku_1 === luku_2 --> "; /*identtinen*/
   var_dump($Luku_1 === $Luku_2); 
  ?>
  </div>  
  

Tulos www-sivulla:

Onko luku_1 < luku_2 --> bool(false)
Onko luku_1 > luku_2 --> bool(false)
Onko luku_1 <> luku_2 --> bool(false)
Onko luku_1 >= luku_2 --> bool(true)
Onko luku_1 <= luku_2 --> bool(true)
Onko luku_1 != luku_2 --> bool(false)
Onko luku_1 !== luku_2 --> bool(true)
Onko luku_1 == luku_2 --> bool(true)
Onko luku_1 === luku_2 --> bool(false)


Loogiset-operaattorit

Loogisilla operaattoreilla "voidaan muodostaa looginen kokonaisuus jonka perusteella tehdään jokin asia".

AND sekä OR

AND-operaattorilla yhdistetään kaksi ehtoa joiden molempien pitää olla totta. OR-operaattorilla yhdistetään kaksi ehtoa joista toisen tai molempien pitää olla totta.

Esimerkissä kaksi if-lausetta:

Jos lukuA on yhtäsuuri kuin 5 "JA" lukuB on yhtäsuuri kuin 3,
näytetään teksti.
Jos lukuA on yhtäsuuri kuin 0 "TAI" lukuB on yhtäsuuri kuin 3,
näytetään teksti.


  <div class="vari2">
  <?php
    $lukuA = 5; 
    $lukuB = 3;

    if ($lukuA == 5 AND $lukuB == 3) {
      echo "Näytetään tämä, koska AND-lauseke on tosi.";
    }
    if ($lukuA == 0 OR $lukuB == 3) {
      echo "<br>Näytetään tämäkin, koska OR-lauseke on tosi.";
    } 
  ?>
  </div>  
  

Tulos www-sivulla:

Näytetään tämä, koska AND-lauseke on tosi.
Näytetään tämäkin, koska OR-lauseke on tosi.


 Tähän kohtaan tehtävä 15.1
   Sijoita muuttujiin sanat:
  teksti1 = kissa
  teksti2 = koira
 
 Kokeile esimerkin pohjalta toimiiko vertailut kun muuttujissa olevaa
 tietoa vertataan seuraavasti:
 
  jos teksti1 on yhtäsuuri kuin kissa ja teksti2 on yhtäsuuri kuin koira
 tulostuu: Kissa ja koira on nisäkkäitä.

  jos teksti1 on yhtäsuuri kuin varis tai teksti2 on yhtäsuuri kuin koira
 tulostuu: Varis on lintu ja koira on nisäkäs.
 
 (huom! Mikäli teksti-vertailu ei ole mahdollista, 
 jätä tekemäsi esimerkki kommenttina www-sivulle)

XOR

XOR-operaattorilla yhdistetään kaksi ehtoa siten että, vain toisen pitää olla totta mutta ei molempien.


  <div class="vari2">
  <?php
    $luku1 = 1; 
    $luku2 = 2;

    if ($luku1 == 3 XOR $luku2 == 2) {
      echo "Toinen ehdoista oli totta !";
    }
    if ($luku1 == 3 XOR $luku2 == 3) {
      echo "Kumpikaan ehdoista ei ole totta !";
    }
    if ($luku1 == 1 XOR $luku2 == 2) {
      echo "Molemmat ehdot oli totta !";
    } 
  ?>
  </div>  
  

Tulos www-sivulla:

Toinen ehdoista oli totta !

 Tähän kohtaan tehtävä 15.2
    Kokeile esimerkkiä ja muuta se tutkimaan edellisen tehtävän 15.1
 tekstejä. 
 
 (huom! Mikäli teksti-vertailu ei ole mahdollista, 
 jätä tekemäsi esimerkki kommenttina www-sivulle)

NOT

NOT-operaattoria (!) käytetään yhdistämällä se esimerkiksi == -operaattoriin.


  <div class="vari2">
  <?php
    $luku = 100; 

    if ($luku !== 90) {
      echo "Luku ei ole yhtäsuuri kuin 90.";
    } 
  ?>
  </div>  
  

Tulos www-sivulla:

Luku ei ole yhtäsuuri kuin 90.

Merkkijono-operaattorit

Merkkijonoja voidaan yhdistää www-sivulle näytettäessä sekä yhdistää muuttujassa oleva teksti toisessa muuttujassa olevaan.


  <div class="vari2">
  <?php
    $teksti1 = "Tämä teksti ";
    $teksti2 = "liitettiin tämän eteen.";
    $tekstiA = "Punainen ";
    $tekstiB = "paroni.";
 
    echo $teksti1 . $teksti2 . "<br>";
    $tekstiA .= $tekstiB;
    echo $tekstiA; 
  ?>
  </div>  
  

Tulos www-sivulla:

Tämä teksti liitettiin tämän eteen.
Punainen paroni.


Osoitin-operaattorit

Kahden taulukon yhdistäminen

Esimerkissä yhdistetään taulu1- ja taulu2 solujen nimet mutta ei taulukkojen varsinaista sisältöä. Lopputuloksena soluA, soluB, soluC ja soluD ovat taulukoiden solunimiä joiden avulla päästään käsiksi taulukoiden varsinaiseen sisältöön. print_r($taulu1 + $taulu2); - yhdistää kahden taulukon solujen nimet.


 <div class="vari2">
 <?php
   $taulu1 = array("soluA" => "Antti", "soluB" => "Eemeli"); 
   $taulu2 = array("soluC" => "Heikki", "soluD" => "Jussi"); 

   print_r($taulu1 + $taulu2);
   echo "<br>Solussa soluA on sisältönä " . $taulu1['soluA'];
   echo "<br>Solussa soluD on sisältönä " . $taulu2['soluD'];
 ?>
 </div>
 

Tulos www-sivulla:

Array ( [soluA] => Antti [soluB] => Eemeli [soluC] => Heikki [soluD] => Jussi )
Solussa soluA on sisältönä Antti
Solussa soluD on sisältönä Jussi


Samanarvoiset taulukot

Toisinaan on tarpeen tutkia onko kaksi taulukkoa samanlaisia. Jotta kaksi erinimistä taulukkoa ovat samanlaisia, on niiden solujen nimet sekä sisältö oltava samanlaiset. Samanlaisuutta tutkitaan var_dump($tauluA == $tauluB); -funktiossa.

Esimerkissä on kolme erinimistä taulukkoa, kaksi taulukoista on samanlaisia.


 <div class="vari2">
 <?php
   $tauluA = array("SoluA" => "Opel", "SoluB" => "BMW"); 
   $tauluB = array("SoluC" => "Audi", "SoluD" => "Volvo");
   $tauluC = array("SoluA" => "Opel", "SoluB" => "BMW");  

   var_dump($tauluA == $tauluB);
   var_dump($tauluA == $tauluC);
 ?>
 </div>
 

Tulos www-sivulla:

bool(false) bool(true)


Erilaiset taulukot

Erisuuruutta tutkimalla voidaan selvittää onko kahden taulukon välillä eroa.


 <div class="vari2">
 <?php
   $tauluA = array("SoluA" => "Opel", "SoluB" => "BMW"); 
   $tauluB = array("SoluC" => "Audi", "SoluD" => "Volvo");
   $tauluC = array("SoluA" => "Citroen", "SoluB" => "BMW");
   $tauluD = array("SoluE" => "Opel", "SoluF" => "BMW"); 

   var_dump($tauluA != $tauluB);
   var_dump($tauluA != $tauluC);
   var_dump($tauluA != $tauluD);
 ?>
 </div>
 

Tulos www-sivulla:

bool(true) bool(true) bool(true)






TEHTÄVÄ Tässä ei ole tehtävää

Tässä ei ole tehtävää
Tässä ei ole tehtävää



TEHTÄVÄ Tässä ei ole tehtävää

Tässä ei ole tehtävää
Tässä ei ole tehtävää