340 likes | 583 Views
Konvertimi i variablave dhe strukturat e kontrollit. Programim ne Web Leksion 3. Konvertimi i tipeve te variablave. PHP ka nje bashkesi funksionesh te veta konvertoni variablat nga nje tip ne tjetrin Percaktoni çfare tipi ka caktuar vete PHP-ja per nje variabel.
E N D
Konvertimiivariablavedhestrukturat e kontrollit Programim ne WebLeksion 3 Iralda Mitro
Konvertimi i tipeve te variablave • PHP ka nje bashkesi funksionesh te veta • konvertoni variablat nga nje tip ne tjetrin • Percaktoni çfare tipi ka caktuar vete PHP-ja per nje variabel. • PHP e kryen vete procesin e konvertimit • Shembull: $EngineType = "2.0L" $TaxRate = 3 $TaxPaid = $EngineType * $TaxRate • Ketu vlera e variablit $TaxPaideshte 6. Iralda Mitro
Procesi i konvertimit • Per ta percaktuar vete tipin kur krijojme nje variabel: • I japim si vlere variablit vetveten • percaktojme tipin e te dhenave brenda kllapave $NewVariable = 13; $NewVariable = (string) $NewVariable; • Per te kthyer variablin ne tipin qe kishte: NewVariable = 13; $NewVariable = (string) $NewVariable; $NewVariable = (integer) $NewVariable; Iralda Mitro
Funksioni gettype() • Per te percaktuar tipin e variablit • PHP ka nje funksion qe quhet gettype() • brenda kllapave duhet te vendoset emri i variablit gettype($number); • Shembull: $number = 5; echo gettype($number); Ky kod afishon: Integer Iralda Mitro
Funksioni settype() • Per te percaktuar tipin e varialbit • Perdoret funksioni settype() • Merr si parametra variablin dhe tipin e te dhenave qe duam te caktojme per kete variabel $number=10; settype($number, "string"); • Per te treguar qe tipi ka ndryshuar therrasim perseri gettype () echo gettype($number); Ky kod afishon: String Iralda Mitro
Funksioni isset() • Per te kontrolluar nese eshte krijuar apo jo nje variabel me nje emer te caktuar. • Perdoret funksioni isset() • merr si argument vetem emrin e variablit: echo isset($number); Ky kod afishon: 1 (nese do te ekzistonte tashme nje variabel me emrin $number) perndryshe -nuk do te kthente ndonje asgje. Iralda Mitro
Funksioni unset() • Per te shkaterruar plotesisht nje variabel dhe per te liruar hapesiren qe ai zinte ne memorie: • Perdoret funksioni unset() • merr si argument emrin e variablit unset($number); Kujdes! Perpara se te therrisni kete funksion duhet te siguroheni qe kjo eshte vertete ajo qe kerkojme te bejme sepse edhe emri, edhe vlera e variablit do te shkaterrohen kur thirret ky funksion. Iralda Mitro
Funksioni empty() • Per te kontrolluar nese nje variabel eshte bosh, pra pa vlere te percaktuar: • Perdoret funksioni empty() • Eshte i kunderti logjik i funksionit isset() echo empty($number); Ky kod afishon: 1 (nese nuk ka variabel $number, ose nese variabli $number eshte i barabarte me 0 ose "" -stringu bosh) nuk kthen asgje nese ky variabel ekziston Iralda Mitro
Variablat e mjedisit (environment) • Variablat e mjedisit (te quajtur ndryshe edhe variablat e PHP-se) • Jane vendosur jashte skripteve PHP • Mund te kapen brenda çdo skripti PHP • Keto variabla zakonisht permbajne informacion rreth transaksioneve klient-server. • Marrin te njejtin format si variablat qe krijojme ne vete, meqe edhe ato fillojne me shenjen $. Iralda Mitro
Aksesimiivariablavetemjedisit • Ato mund te jene informacione rreth kerkeses dhe pergjigjes HTTP • Ndryshimi nga variablat e tjere eshte se ato jane krijuar qe me pare dhe nuk kane nevoje per nderhyrje te perdoruesit. • Ato mund t’i shohim duke perdorur phpinfo(), ose mund t’i referohemi edhe individualisht, me echo() Iralda Mitro
Disa variabla te mjedisit • $_SERVER['HTTP_USER_AGENT'] • permban tipin e browserit te perdoruesit. echo $_SERVER[HTTP_USER_AGENT]; • $HTTP_FROM • permban adresen email te perdoruesit qe ben kerkesen. • $HTTP_ACCEPT • permban nje liste te tipeve te mediave qe mund te pranoje browseri i perdoruesit. • Ne mund te ndryshojme ose mund te ndikojme ne permbajtjen e ketyre variablave. • Megjithate ato jane ndertuar me teper qe t’i perdorim si reference sesa t’i ndryshojme vleren. Iralda Mitro
Strukturat e kontrollit Iralda Mitro
if... then...else if (expression) : statement block else : statement block endif; if (expression) { statement block } else { statement block } Iralda Mitro
while while (expression): statement block endwhile; • Shembull: Llogaritja e n-faktorialit (n!), ku n = 5 $n = 5; $ncopy = $n; $factorial = 1; // inicializofaktorialin while ($n > 0) : $factorial = $n * $factorial; $n--; // zbrit$n me 1 endwhile; print “Faktorialii $ncopy = $factorial."; //Afishohet: Faktorialii 5 = 120. Iralda Mitro
do…while do { statement block } while (expression); Shembulliifaktorialit: $n = 5; $ncopy = $n; $factorial = 1; // inicializofaktorialin do { $factorial = $n * $factorial; $n--; // zbrit $n me 1 } while ($n > 0); print “Faktorialii $ncopy = $factorial.“; Iralda Mitro
for for (initialization; condition; increment) { statement block } Shembull: for ($i = 10; $i <= 100; $i+=10) { print "\$i= $i <br>"; } // backslash perpara $isherbenqemostemarrivleren e $i, portashkruaje sic eshte. Kykodafishon : $i= 10 $i= 20 … $i= 100 Iralda Mitro
for • Mundteinicializohenedhedisavariablanjekohesisht, duke e ndaresecilinvariabel me presje: for ($x=0,$y=0; $x+$y<10; $x++) : $y +=2; print "\$y = $y <BR>"; $sum = $x + $y; print "\$sum = $sum<BR>"; endfor; Ky kod afishon: $y = 2 $sum = 2 $y = 4 $sum = 5 $y = 6 $sum = 8 $y = 8 $sum = 11 Iralda Mitro
for • Ne ciklin for mund te hiqet ndonje kusht, si psh: $x = 5; for (; ; $x += 2) : print " $x "; if ($x == 15) : break; // del ngacikli for endif; endfor; Kykodafishon: 5 7 9 11 13 15 Si do teishte me tegjithakushtet: for ($x = 5; $x <=15; $x += 2) : print " $x "; endfor; Iralda Mitro
foreach • Strukturaforeacheshtenjevariacionistrukturesfor, per telehtesuarpunen me vektoret. • Ka dy forma tepergjithshmeteforeach, kusecila ka qellimin e vet specifik: foreach (array_expression as $value) { statement } foreach (array_expression as $key => $value) { statement } Iralda Mitro
foreach (1) $menu = array(“pasta”,“mish”,“patate”,“peshk”); foreach ($menu as $item) { print "$item <BR>"; } • Kykodafishon pasta mish patate peshk • Strukturaforeachkalonautomatikisht ne pozicioninfillestartevektorit. • Nukka nevojeteinkrementohetnumeruesisepsekjorealizohetautomatikishtngastrukturaforeach. Iralda Mitro
foreach (2) • Menyra e dyteperdoret per vektoret e shoqeruar : $wine_inventory = array { "merlot" => 15, "zinfandel" => 17, "sauvignon" => 32 } foreach ($wine_inventory as $i => $item_count) { print "$item_countshishe $itembetura <BR>"; } Kykodafishon: 15 shishe merlot tembetura 17 shishe zinfandel tembetura 32 shishe sauvignon tembetura Iralda Mitro
switch switch (expression) { case (condition) : statement block case (condition) : statement block . . . default : statement block } Iralda Mitro
break • break perdoret per te dale menjeherengastruktura while, for, ose switch ne tecilenajopermbahet. Sintaksaeshte : break n; • Opsioni n qevijon pas thirrjes se break percakton se sanivelestrukturashkontrolliduhetteperfundojnekurekzekutohetshprehja break. • Per shembullnesenjebreakeshte e futurbrendadyshprehjeve while dheekzekutohetbreak 2;ateheretedyciklet while do teperfundojnemenjehere. • Vlera default per n eshte 1. • Kujdes: Break nuk e konsideronsistrukturekontrollishprehjen if, prandajnukperdoret per te dale ngastruktura if. Iralda Mitro
continue • Ekzekutimiinjeshprehjejecontinue ne njecikeliterativ, do tebejeqetekapercehetpjesa e mbetur e iteracionitaktualteciklit, dhefillonnjeiteracionteri. Sintaksa e pergjithshmeeshte: continue n; • Opsioni n vepronsiikundertiiopsionit n qeshoqeronshprehjen break, duke percaktuar se deri ne fundin e sanivelevetecikleve, duhettekapercejeshprehja continue. • Shembull: Supozojme se duamtenumerojmenumrat prim ndermjet 0 dhenjekufiritecaktuar. Per thjeshtesi, supozojme se kemishkruarnjefunksionqepercaktonnesenjenumereshte prim apojo. Ketefunksionpo e quajmeis_prime(): Iralda Mitro
continue $boundary = 558; for ($i = 0; $i <= $boundary; $i++) : if ( ! is_prime($i)) : continue; endif; $prime_counter++; endfor; • Nesenumrieshte prim, ateherebllokuishprehjesif do tekapercehetdhe$prime_counter do teinkrementohet. Perndryshe do teekzekutohetshprehjacontinue, pra do tekalohet ne fillimteciklit. • Shprehjacontinue, sigurishtnukeshte e domosdoshme, meqeshprehjetif do tearrijnetenjejtinrezultat. • Shenim: Perdorimii continue ne algoritmetegjatedhekompleksemundterezultoje ne kodtepaqartedhetengaterrueshem, prandajrekomandohetqeteshmangetperdorimiikesajshprehjeje ne tetillaraste. Iralda Mitro
break $arr = array(14, 12, 128, 34, 5); $magic_number = 128; foreach ($arr as $val) : if ($val == $magic_number) : print "The magic number is in the array!"; break; endif; print "val= $val <br>"; endforeach; • Nese magic number gjendet ne vektorin $arr, ateherenuk ka nevojeqetevazhdohetkerkimi. Rezultati do tejete: • val= 14 • val= 12 • The magic number is in the array! Iralda Mitro
Operatoret dhe Shprehjet • Njeoperatoreshtenjesimbolosenjeserisimboleshqe, kurperdoretilidhur me vlera, kryennjeveprimdhezakonishtprodhonnjevlerete re. • Njeoperandeeshtenjevlereqeperdoret e lidhur me nje operator. Zakonisht ka dyoperanda per nje operator. • Psh: 4 + 5 prodhonvleren e re 9 • Kombinimiioperandave me nje operator per teprodhuarnjerezultatquhetnjeshprehje.
Operatoret dhe Shprehjet • Megjithese zakonisht operatoret perbejne bazen e shprehjeve, nuk eshte e nevojshme qe nje shprehje te kete nje operator. • Ne PHP nje shprehje percaktohet si diçka qe mund te perdoret si nje vlere. • Kjo perfshin vlera konstante integer si 654, variabla si $user dhe thirrje funksionesh si gettype(). • Nje shprehje eshte çdo kombinim i funksioneve, vlerave dhe operatoreve qe rezulton ne nje vlere. • Si rregull: “Nese mund te perdoret sikur te ishte nje vlere, atehere ajo eshte nje shprehje”
Prioriteti i operatoreve • ++, -, (cast) • /, *, % • +, - • <, <=, =>, > • ==, ===, != • && • || • =, +=, -=, /=, *=, %=, .= • and • xor • or
Prioriteti i operatoreve • $x and $y || $z • $x && ($y || $z) • $x and ($y or $z) • Keto shembuj jane ekuivalente