![]() |
|
||||||
|
|
| 06.09.10 / 20:15 |
|
Martin Rebane
Kui sul on vaja valik teha paari-kolme võimaluse vahel, siis on kõige otstarbekam kasutada vast if-tingimuslauseid (kui sul pole aimugi, mis need on, peaksid alustama siit lehelt). Kui aga valikuid on rohkem, on otstarbekam otsida muud lahendust. Vaatame näidet:Või nii.. Selle saab ka teisiti kirjutada: PHP kood:
Raskemate võrdluste korral tarvitab switch ka vähem serveriressursse kui if. Mida switchiga teha saab? Üks kasutusi on jällegi faili lisamine includega. Näiteks on meil ühel lehel kaks linki: index.php?lemmikloom=koer ja index.php?lemmikloom=kass Nüüd saab antud paremeetreid suurepäraselt töödelda switchga, failis index.php on meil skript: PHP kood:
Seletame natuke. Misasi on break? Break lõpetab switchi ahela täitmise(tegelikult saab temaga lõpetada ka teisi tsükleid nt for, while..). Kui me seda ei paneks, leiaks switch küll õige koha, kuid ei lõpetaks tööd ja täidaks ka kõik endast allapoole jäävad tingimused hoolimata sellest, et need tõesed ei ole. Näiteks üleval näites, kui break'e ei oleks ja $_GET['lemmikloom']==koer, siis lisatakse ka kassipilt ja minuendapilt. Ühesõnaga - Switch lõpetab töö esimese break'i peale või lõppu jõudes. Aga viimase case'i asemel on default? Jah, default täidetakse, kui ükski eelnevatest case'dest ei osutunud tõeks (või kui osutus, aga break oli puudu). Default ei ole kohustuslik. Hea näide switch'i kasutamisest on näiteks [o3] lehekülg, kus võid jälgida, et ükskõik kuhu sa ka ei klikiks, ette jääb ikka üks ja seesama index.php - ainult '?id=' parameeter on teine. Muidugi võib switchi ka teisteks puhkudeks tarvitada - näiteks soovid, et iga tund ööpäevas oleks sinu lehekülg erineva taustavärviga, siis kirjuta skript: PHP kood:
Siin on küll värvid ainult kahe tunni kohta, kuid ma usun, et kui rohkem tahad, saad selle kirjutamisega ise hakkama. Illustreerimaks kuidas ja kuskohas switchi kasutada, lisasin ka pildi: Värvivahetamise kood on siin: switchcolor.txt Artikli kommentaarid |
|