Massiivid ja tsüklid
Veel üks tsükliülesanne
Meenutage korrutustabeli loomiseks vajalikku programmikoodi ning proovige luua malelaud: 8×8 ruudustik, mille ruudud on vaheldumisi värvitud mustaks ja valgeks.
Ruudustiku loomine on algselt sarnane korrutustabeliga. Sellegipoolest tekitage 8×8 tabel uuesti, nullist, mitte copy-paste meetodil eelmisest ülesandest. Soovi korral asendage for-tsüklid näiteks while või do-while tsüklitega. Programmikoodi uuesti läbikirjutamine aitab seda kinnistada ning samas sunnib algoritmi uuesti läbi mõtlema.
print "<td bgcolor=$bgcolor height=50 width=50></td>";
Vahelduva taustavärviga ruutude tekitamiseks tuleb vaadelda $color väärtust käesoleval hetkel ning vastavalt sellele salvestada muutujasse uus värvuse nimetus. Ehk, kui praegu on $color väärtuseks white, siis tuleb määrata uueks väärtuseks black ja vastupidi:
if($color=="white") $color="black"; else $color="white";
Vahelduma peavad lahtrite värvused, seetõttu peab värvi vahetama iga lahtri loomise järel. Samuti tuleb jälgida, et uut rida alustataks õige värviga.
Muutujatüübid
PHP-s on kasutusel erinevad tüüpi muutujad. Tutvuge kasutatavate andmetüüpidega manuaalist
http://www.php.net/manual/en/language.types.php
Ülevaatlik tabel muutujate kohta on siin:
Muutujatüüp | Nimetus | Väärtused |
---|---|---|
Boolean | Tõeväärtustüüp | Võimalikud väärtused on true ja false |
Integer | Täisarvutüüp | Võimalikud väärtused on täisarvude hulgast |
Float | Ujukomatüüp | Sisaldab reaalarvulisi väärtusi |
String | Tekstitüüp | Tekstandmete hoidmiseks. Tekstitüüpi andmed kirjutatakse jutumärkide vahele! |
Massiiv | Array | Mitut andmeelementi sisaldav muutuja |
Massiivid on muutujad, mis sisaldavad mitut andmeelementi. Elemente võib massiivi salvestada lihtsalt järjekorranumbri alusel:
$arr=array("esmaspäev","teisipäev","kolmapäev","neljapäev","reede");
Sellisel juhul on võimalik massiivi elemendi poole pöörduda järjekorranumbri alusel. Massiivi elementide järjekorranumbrid algavad nullist!
//Trükime välja kolmanda elemendi "kolmapäev" väärtuse: print $arr[2];
Selliseid massiive nimetatakse mitteassotsiatiivseteks massiivideks. Assotsiatiivsete massiivide korral kasutatakse massiivi elementide salvestamisel võtmesõnu, mis viitavad konkreetsele elemendile massiivis.
$assoc["esmasp"]="esmaspäev"; $assoc["teisip"]="teisipäev"; $assoc["kolmap"]="kolmapäev"; $assoc["neljap"]="neljapäev"; $assoc["reede"]="reede";
Sellise massiivi elementide poole saab pöörduda elemendi nimetuste kaudu:
//Trükime välja kolmanda elemendi "kolmapäev" väärtuse: print $assoc["kolmap"];
Assotsiatiivse massiivi elementide nimetusi nimetatakse võtmeteks (key), nendele vastavad aga elementide väärtused (value):
$assoc[key] = value;