PHP

PHP KOULUTUSTA VUONNA 2025!

Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.

PHP:n switch-case ohjausrakenne

PHP:n switch-case rakenne on hyödyllinen silloin, kun halutaan verrata yhtä muuttujaa useisiin arvoihin. Tämä rakenne on erityisesti hyödyllinen, kun on tarve tehdä monimutkaisempia vertailuja, joissa verrataan useita mahdollisia vaihtoehtoja.

Switch-rakenne käyttää case-lohkoja, jotka kuvaavat erilaisia mahdollisia arvoja. Jokaiseen case-lohkoon voidaan liittää koodia, joka suoritetaan, jos muuttuja vastaa kyseistä arvoa. Break estää nk.fall-through-ilmiön, jossa ehdon täyttyessä switch-rakenne jatkaisi seuraavaan case-lohkoon. Jos mikään case ei täsmää, suoritus päättyy lopulta default-lohkoon.


switch ($vertailtava) {
    case arvo1:
         // toiminnot
    	 break;
    case arvo2:
         // toiminnot
         break;		 
    default: 
         // jos mikään ehto ei täyty	
}


Esimerkiksi:


switch ($arvo){
    case 0: #ei toimintoa
    case 1:
        print("arvo on 1");
        break; #lopeta suoritus
    case 2:
        print("arvo on 2");
        break;
    default: #muutoin 
        print("arvo on $arvo ")
}

Miten switch eroaa if-rakenteesta?

Vaikka if-lauseet ja switch-rakenne voivat molemmat toimia samanlaisessa tilanteessa, kuten yksittäisen muuttujan vertailussa, ne eroavat merkittävästi käytettävyydeltään ja tehokkuudeltaan.

If-rakenne on hyvä, kun halutaan tarkistaa yksi ehto kerrallaan, ja vertaillaan muuttujan arvoja monimutkaisilla ehdoilla.

Switch on selkeämpi ja helposti luettavissa silloin, kun valinta perustuu vain yksinkertaisiin arvoihin (kuten numerot tai tietyt merkkijonot).