PHP BASIC

advertisement
BAZA TE KODIMIT NE PHP
Variablat
•Konstantet
•Strukturat e kontrollit
•Ciklet
•Tabelat (Arrays)
•
Leksion 8
Taget e Fillimit dhe te Mbarimit te PHP-se
Tagu i fillimit (start tag)
<?php
Tagu i mbarimit (end tag)
?>
<?
?>
<script language="php">
</script>
Taget e shkurtra (1)
<? print “This is an example!”; ?>
Taget e shkurtra mund te perdoren per lehtesi ne vend
te tageve <?php ... ?>
Per t’i perdorur ate duhet te aktivizohet direktiva
short_open_tag e PHP-se
Kujdes: Taget e shkurtra konfliktojne me XML, pra edhe me
XHTML, prandaj nuk jane te pershtatshem qe te perdoren me to.
Taget e shkurtra (2)
Gjithashtu, per lehtesi mund te perdoret edhe sintaksa e
qarkut te shkurter (short-circuit syntax):
<?= “This is another PHP example”; ?>
Ky funksionalitet eshte ekuivalent me variantet e
meposhtme
<? echo “This is another PHP example”; ?>
<?php echo “This is another PHP example”; ?>
Komentet
Mund te perdorim disa lloje komentesh ne PHP:

Sintaksa Single-Line C++
<?php
// Title: My first PHP script
?>

Sintaksa Shell
<?php
# Title: My first PHP script
?>

Sintaksa Multiple-Line C
<?php
/*
Title: My first PHP script
Author: Jason
*/
?>
Perfunduesi i instruksioneve


Ne PHP, perfunduesi i instruksioneve eshte pikepresja (;), e cila
duhet te vendoset patjeter ne fund te çdo komande.
Perfunduesi i instruksioneve i tregon parserit te PHP-se
"Mbarova pune me kete komande, vazhdo me tjetren". Nese nuk
vendoset pikepresja, parseri i PHP-se do te ngaterrohet dhe
kodi do te shfaqe gabime.
Outputi i te dhenave ne Browser (1)

print()
Prototipi: int print(argument)
Shembuj:



<?php
print(“<p> I love the summertime .</p> ”);
?>
<?php
$season = “summertime”;
print(“<p> I love the $season.</p> ”);
?>
<?php
print(“<p> I love the
summertime .</p> ”);
?>
Te gjithe shembujt e mesiperm prodhojne te njejtin output:
I love the summertime.
Outputi i te dhenave ne Browser (2)


echo()
Prototipi: void echo(string argument1 [, ...string argumentN])
Shembull:
<?php
$heavyweight = “Lennox Lewis”;
$lightweight = “Floyd Mayweather”;
echo $heavyweight, “and”, $lightweight, “ are great
fighters.”;
?>
Ky kod afishon:
Lennox Lewis and Floyd Mayweather are great fighters.
Outputi i te dhenave ne Browser (3)

Cili eshte me i shpejte echo() apo print()?
echo() eshte pak me i shpejte sepse ky funksion nuk kthen
asgje, ndersa print() kthen 1 nese shprehja eshte afishuar
me sukses.
Megjithate ndryshimi eshte pothuajse i paperfillshem.
Outputi i te dhenave ne Browser (4)


printf()
Prototipi: boolean printf(string format [, mixed args])
Shembull:
<?php
printf(“Bar Inventory: %d bottles of tonic water.”, 100);
?>
Ky kod afishon:
Bar Inventory: 100 bottles of tonic water.
Ne kete shembull , %d eshte nje placeholder (mbajtes pozicioni) i
njohur si percaktues tipi (type specifiers) dhe d tregon se ne ate
pozicion do te vendoset nje vlere integer. Pra aty pritet te vendoset
nje integer, keshtu qe nese i kalohet si argument nje vlere dhjetore
(float), ajo do te rrumbullakoset ne numrin e plote me te afert. Psh,
nese i kalohet 100.2 si argument, do te afishohet 100.
Outputi i te dhenave ne Browser (5)
Percaktues te dhenash qe perdoren zakonisht
Tipi
Pershkrimi
%b
Argumenti konsiderohet si integer; paraqitur si nje numer binar
%c
Argumenti konsiderohet si integer; paraqitur si nje karakter qe i korrespondon asaj
vlere ACSII
%d
Argumenti konsiderohet si integer; paraqitur si nje numer decimal me shenje
%f
Argumenti konsiderohet si numer floating-point; paraqitur si nje numer floating-point
%o
Argumenti konsiderohet si integer; paraqitur si nje numer oktal
%s
Argumenti konsiderohet si string; paraqitur si nje string
%u
Argumenti konsiderohet si integer; paraqitur si nje numer dhjetor pa shenje
%x
Argumenti konsiderohet si integer; paraqitur si nje numer hexadecimal lowercase
%X
Argumenti konsiderohet si integer; paraqitur si nje numer hexadecimal uppercase
Outputi i te dhenave ne Browser (6)

Shembuj:
printf (“%d bottles of tonic water cost $%f”, 100, 43.20);
Ky kod afishon:
100 bottles of tonic water cost $43.20
Kur punoni me vlerat dhjetore, mund te rregulloni precizionin
duke perdorur percaktues precizioni si me poshte:
printf (“$%.2f”, 43.2); // afishon $43.20
Outputi i te dhenave ne Browser (7)

sprintf()

Prototipi: string sprintf(string format [, mixed arguments])
Shembull:
$cost = sprintf(“$%.2f”, 43.2); // $cost = $43.20
sprintf() eshte identike ne funksionalitet me printf(), vetem se
outputi i tij mund t’i jepet si vlere nje stringu ne vend qe te
afishohet ne browser.
Perfshirja e skedareve te jashtem
PHP ka 4 funksione qe ju mundesojne qe te
shtoni kod nga skedare te jashtem:
 include()
 require()
 include_once()
 require_once()

•
PSh:
 include("table2.php");
–
Perfshin skedarin table2.php brenda skriptit tone
Tipet e te dhenave ne PHP (1)



Ne PHP mund te krijoni dy tipe variablash: skalar dhe te
perbere (compound).
Variablat skalare permbajne vetem nga nje vlere ne nje
kohe. Ketu hyjne tipet Boolean, Integer, Float(Double),
String
Ndersa variablat e perbere lejojne qe shume elementet
te te njejtit tip te grupohen ne nje entitet te vetem
perfaqesues. Ketu hyjne tipet Array dhe Object.
Tipet e te dhenave ne PHP (2)
Kur i jepni nje vlere nje variabli, ju zakonisht i jepni nje vlere te njerit
prej tipeve te meposhtme:




Boolean Suporton dy vlera true/false. Mund te perdoret 0 per te
paraqitur false dhe çdo vlere tjeter jozero per true.
Integer Numra te plote, si psh: 1, 345, and 9922786. Gjithashtu
mund te perdorni sistem oktal dhe hekzadecimal: Psh numri oktal
0123 eshte 83 ne sistem dhjetor dhe numri ne hekzadecimal 0x12
eshte 18 ne sistem dhjetor.
Floating-point numbers ("floats" ose "doubles") Numra me
presje dhjetore, si psh: 1.5, 87.3446, and 0.88889992.
String Informacion tekst dhe/ose numerik, i percaktuar brenda
thonjezave dyshe (" ") ose teke (' ').
Tipet e te dhenave ne PHP (3)


Tipet e te dhenave nuk percaktohen nga programuesi,
por vete PHP-ja kur interpreton faqen web, vendos se
çfare tipi te dhenash duhet te jete nje variabel dhe i jep
vleren perkatese.
Kur te shkruani skriptin tuaj ne PHP, duhet te percaktoni
me kujdes variablat dhe emrat e variablave dhe te
perdorni komente ne kod, qe t’ju kujtojne tipet e vlerave
qe u keni dhene variablave.
Tipi i te dhenave String
–
–
Nje string eshte nje sekuence shkronjash, simbolesh, karakteresh dhe
vlerash aritmetike ose nje kombinim i tyre, te vendosura brenda
thonjezave teke ose çifte
Shembull:
<?php
$sum = 20;
echo 'the sum is: $sum';
echo "<br />";
echo "the sum is: $sum";
echo "<br />";
echo '<input type="text" name="first_name" id="first_name">';
?>
–
–
Kur stringu eshte i vendosur brenda thonjezave çifte, sekuenca te tilla
si /n ose /r interpretohen dhe variablat zevendesohen, ndersa nese
stringu eshte brenda thonjezave teke, nje gje e tille nuk ndodh.
Stringjet qe jane ne thonjeza çifte mund te vendosen ne disa rreshta.
Bashkimi i stringjeve (1)
•
•
Operatori i bashkimit te stringjeve (.) perdoret per te
lidhur dy vlera string se bashku.
Shembull:
<?php
$txt1="Hello Everyone,";
$txt2="1234 is Dan’s home address";
echo $txt1.$txt2;
?>
Bashkimi i stringjeve (2)

Ne PHP ka edhe nje menyre per bashkim stringjesh, duke
perdorur komanden echo()
$TipMakine = "Cadillac";
 echo "$TipMakine ";



Ky kod afishon Cadillac.
Megjithate, kjo na jep mundesine per te perdorur emrat e
variablave brenda tekstit per te bashkuar tekstin. Psh:


echo "Duke's $TipMakine ";
Ky kod afishon Duke's Cadillac.
Bashkimi i stringjeve (3)




echo 2 . 2;
echo 2.2;
Keto dy komanda duket sikur afishojne te njejten gje,
por rezultati i tyre eshte perkatesisht 22 dhe 2.2
Rasti i pare konsiderohet si bashkim stringjesh ndersa i
dyti si afishim i numrit 2.2
Heqja e kuptimit te karaktereve te veçanta
(escape)





Duhet te keni kujdes gjithashtu te hiqni kuptimin e karaktere te
veçanta siç jane psh thonjezat çifte. Kur perdorni thonjeza çifte,
secila nga thonjezat duhet te paraprihet nga karakteri (\) (i
njohur edhe si nje backslash).
Shembull i nje kodimi te gabuar
echo "<P>I think this is really "cool"!</P>";
Kodimi i sakte:
echo "<P>I think this is really \"cool\"!</P>";
Tipi Array


Nje vektor (array) perkufizohet si nje bashkesi e
indeksuar e vlerave te te dhenave.
Shembull: Per te ndertuar nje liste te shteteve te
SHBA-se, mund te perdoret nje vektor:
$state[0] = “Alabama”;
$state[1] = “Alaska”;
$state[2] = “Arizona”;
...
$state[49] = “Wyoming”;
Tipi Object


Ndryshe nga tipet e tjera te te dheanve ne PHP, nje object
duhet te deklarohet ne menyre eksplicite. Ky deklarim ndodh
brenda nje klase.
Shembull:
class Appliance {
private $_power;
function setPower($status) {
$this->_power = $status;
}
}
Krijimi i nje objekti te kesaj klase:
$blender = new Appliance;
$blender-> setPower(“on”);
Variablat
Ne PHP te gjithe variablat fillojne me shenjen $ , ndersa
per t’i dhene nje vlere variablit, perdoret shenja e
barazimit “=”, psh:
 $author
= "William Shakespeare";
 $number_of_digits_on_one_hand = 5;
Per te paraqitur ne ekran vleren e variablit perdoret
komanda echo(), si psh:
 echo
$author;
Kufizimet ne emrat e variablave (1)




Madhesia e emrit te variablit, nuk eshte e kufizuar ne PHP.
Te gjithe emrat e variablave duhet te fillojne me nje
shkronje ose underscore (duke mos marre parasysh ketu
shenjen e dollarit, e cila nuk eshte pjese strikte e emrit te
variablit).
Emrat e variablave duhet te ndertohen nga numra, shkronja
dhe underscore. Karaktere te tjera +,- , *, dhe & nuk lejon
dhe do te shkaktojne gabime ne faqen web.
Emrat e variablave duhet te fillojne me shkronje ose me
underscore, e jo me numer.
Kufizimet ne emrat e variablave (2)


Pavaresisht nga keto, ju jeni te lire t’i vendosni emra
variablave si te doni, megjithese e mira eshte qe emrat e
variblave te kene kuptim.
Gjithashtu emrat e variablave jane case-sensitive, (psh
variablat $author dhe $Author nuk jane njelloj)
Shembull – Krijimi i variablave dhe afishimi
i vlerave te tyre









<HTML>
<BODY>
<?php
$actor = "Marlon Brando";
echo $actor;
?>
</BODY>
</HTML>
Kodi i mesiperm afishon
Marlon Brando, ne browser


Vereni qe po te ishte
shkruar echo "$actor";
rezultati do te ishte
perseri i njejte.
Ndersa echo ‘$actor’
(ne thonjeza teke), do te
afishonte $actor, sepse
nuk interpretohet vlera
e variablit
Fusha e veprimit te variablave dhe
jetegjatesia e tyre
• Shembull:



Fusha e veprimit te nje variabli
te percaktuar brenda nje
funksioni eshte lokale per ate
funksion.
Nje variabel i percaktuar ne
trupin kryesor te kodit ka nje
fushe veprimi globale.
Nese nje funksioni i duhet te
perdore nje variabel qe eshte
i percaktuar trupin kryesor te
kodit, duhet t’i referohet atij
variabli duke perdorur fjalen
kyçe "global”
<?php
function mul()
{
global $start;
print "<tr>";
for ($num=1; $num <= 10; $num++ )
{
$cell = $num * $start;
print "<td> " . $cell . " </td>";
}
print "</tr>";
}
$start = 0;
print "<table border=1
cellpadding=3>";
while ( $start <=10 )
{
mul();
$start++;
}
print "</table>";
?>
Konvertimi i tipeve te variablave (1)



PHP ka nje bashkesi funksionesh te veta, qe ju ndihmojne jo vetem
qe te konvertoni variablat nga nje tip ne tjetrin, por edhe te
percaktoni saktesisht se çfare tipi ka caktuar vete PHP-ja per nje
variabel.
PHP ju kursen shume pune sepse e kryen vete procesin e konvertimit,
ne ndryshim nga shume gjuhe te tjera programimi, qe zakonisht
lejojne te kryhen veprime vetem ndermjet variablave te te njejtit
tip.
Shembull:




$EngineType = "2.0L"
$TaxRate = 3
$TaxPaid = $EngineType * $TaxRate
Ketu vlera e variablit $TaxPaid eshte 6.
Konvertimi i tipeve te variablave (2)


Deri tani konvertimin e tipeve te variablave e ka kryer PHP-ja, por
kete mund ta kryejme edhe ne nese duam ta percaktojme vete tipin
kur e krijojme nje variabel.
Per kete mjafton qe t’i japim si vlere variablit vetveten dhe te
percaktojme tipin e te dhenave brenda kllapave, si me poshte:




$NewVariable = 13;
$NewVariable = (string) $NewVariable;
Ky proces njihet me emrin Konvertim (Type Casting)
Nese eshte e nevojshme mund ta kthejme ate perseri ne tipin qe
kishte:



NewVariable = 13;
$NewVariable = (string) $NewVariable;
$NewVariable = (integer) $NewVariable;
Konvertimi i tipeve te variablave (3)
Funksioni gettype


Per te percaktuar tipin e variablit, PHP ka nje funksion qe quhet
gettype(), ku brenda kllapave duhet te vendoset emri i variablit, si
me poshte:
 gettype($number);
Shembull:
 $number = 5;
 echo gettype($number);
Ky kod afishon integer ne faqen web.
Konvertimi i tipeve te variablave (4)
Funksioni settype



Funksioni settype na lejon te percaktojme tipin e varialbit. Ai merr si
parametra variablin dhe tipin e te dhenave qe duam te caktojme
per kete variabel, si me poshte:
 $number=10;
 settype($number, "string");
Per te treguar qe tipi ka ndryshuar mund te therrasim perseri
funksionin gettype
 echo gettype($number);
Tashme ky kod afishon fjalen string.
Konvertimi i tipeve te variablave (5)
Funksioni isset()

Ky funksion na lejon te kontrollojme nese eshte krijuar apo jo nje
variabel me nje emer te caktuar. Ai merr si argument vetem emrin e
variablit:

echo isset($number);
Ky kod do te afishonte numrin 1 nese do te ekzistonte tashme nje
variabel me emrin $number , perndryshe nuk do te kthente ndonje
vlere, madje as zero.
Konvertimi i tipeve te variablave (6)
Funksioni unset()

Perdoret per te shkaterruar plotesisht nje variabel dhe te liroje
hapesiren qe ai zinte ne memorie. Edhe ai merr si argument emrin e
variablit:

unset($number);
Gjithsesi 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.
Konvertimi i tipeve te variablave (7)
Funksioni empty()

Eshte i kunderti logjik i funksionit isset(). Ai perdoret njelloj si isset(),
dhe kthen 1 nese nuk ka variabel $number, ose nese variabli
$number eshte i barabarte me 0 ose "" (stringu bosh), si dhe nuk
kthen asgje nese ky variabel ekziston:

echo empty($number);
Variablat e paracaktuar
Ne te gjithe skriptet PHP, mund te perdorni nje bashkesi
variablash te paracaktuar.
Mund t’i keni pare disa nga keto variabla ne outputin e
funksionit phpinfo().
Disa nga keta variabla, quhen superglobale, qe do te
thote se ata jane gjithmone prezente dhe mund te
perdoren tek te gjithe skriptet tuaja, pa ndonje
nderhyrje nga ana juaj si programues
Shembuj Variablash te paracaktuar






$_GET permban çdo variabel qe i jepet skriptit nepermjet
metodes GET.
$_POST permban çdo variabel qe i jepet skriptit nepermjet
metodes POST.
$_COOKIE permban çdo variabel qe i jepet skriptit
nepermjet nje cookie.
$_FILES permban çdo variabel qe i jepet skriptit nepermjet
upload-imit te fileve.
$_ENV permban çdo variabel qe i jepet skriptit si pjese e
mjedisit te serverit.
$_SESSION permban çdo variabel qe eshte i rregjistruar
ne sesion.
Variablat e mjedisit (1)




Variablat e mjedisit (te quajtur ndryshe edhe variablat e PHP-se)
jane variabla qe jane vendosur jashte skripteve PHP, por mund te
kapen brenda çdo skripti PHP.
Keto variabla zakonisht permbajne informacion rreth
transaksioneve klient-server. Ato mund te jene informacione rreth
kerkeses dhe pergjigjes HTTP, dhe marrin te njejtin format si
variablat qe krijojme ne vete, meqe edhe ato fillojne me shenjen $.
I vetmi ndryshim eshte se ato jane krijuar qe me pare dhe nuk kane
nevoje per nderhyrje te perdoruesit.
Ato mund t’i shohim duke perdorur phpinfo()
Variablat e mjedisit (2)





$_SERVER["HTTP_USER_AGENT"] permban tipin e browserit te
perdoruesit.
 echo $_SERVER["HTTP_USER_AGENT"];
Mund te perdorim vleren e ketij variabli ne programet tona dhe t’i
bejme ato te posaçem per nje browser, apo per nje bashkesi
browserash te caktuar.
Variabli $_SERVER[" HTTP_FROM"] permban adresen email te
perdoruesit, qe ben kerkesen.
$_SERVER[" HTTP_ACCEPT "] permban nje liste te tipeve te
mediave qe mund te pranoje browseri i perdoruesit.
$_SERVER[" REMOTE_ADDR "] permban adresen IP te kompjuterit
qe po ben kerkesen.
Variablat e mjedisit (3)




Per te qene te sigurte qe po lexoni vleren e duhur, mund te
perdorni edhe funksionin getenv() per t’ia dhene si vlere nje
variabli tjeter te krijuar prej jush. Ne shembullin e meposhtem eshte
perdorur ky funksion, per t’i dhene variablit $address vleren e
variblit te mjedisit $REMOTE_ADDR
<? $address = getenv("REMOTE_ADDR");
echo "Your IP address is $address."; ?>
Ndryshimi ndermjet variablave te mjedisit dhe konstanteve te
paracaktuara ne PHP eshte se ne vete 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.
Deklarimi i konstaneteve (1)



Nje konstante eshte nje identifikues per nje vlere qe nuk
mund te ndryshoje gjate rrjedhes se nje skripti.
Kur nje konstante merr nje vlere, ajo e ruan ate vlere gjate
gjithe jetes se ekzekutimit te saj.
Konstantet mund te jene te percaktuara nga perdoruesi, ose
konstante te paracaktuara qe PHP i ka ne dispozicion
gjithmone.
Deklarimi i konstaneteve (2)





Deklarimi i konstaneteve behet duke perdorur funksionin
define() si meposhte:
<?php
define("EXAMPLE", 5);
echo EXAMPLE;
?>
Deklarimi i konstaneteve (3)



Ketu deklarohet nje konstante EXAMPLE dhe i jepet
vlera 5.
Vereni qe kjo konstante nuk paraprihet nga shenja e
dollarit $, sepse kjo shenje perdoret vetem nga variablat
e jo nga konstantet.
Konstantet nuk mund te rideklarohen, pra nuk mund t’u
ndryshohet vlera pasi eshte percaktuar nje vlere per to,
prandaj edhe quhen konstante.
Shembuj konstantesh te paracaktuara




__FILE__ Emri i skedarit te skriptit qe po parsohet
__LINE__ Numri i rreshtit ne skriptin qe po parsohet
PHP_VERSION
Version i PHP-se qe po perdoret.
PHP_OS
Sistemi i shfrytezimit qe perdor PHP.
Operatoret

Funksioni baze i nje operatori eshte qe te beje diçka me
vleren e nje variabli. Kjo “diçka” mund te jete dhenie e
nje vlere, ndryshim i nje vlere, ose krahasim i dy ose me
shume vlerave.
Tipet kryesore te Operatoreve ne PHP




Operatoret e Vleredhenies. I japin vlere variablave.
Munden gjithashtu te shtojne ose te zbresin nga vlera
aktuale e nje variabli.
Operatoret Aritmetike. Mbledhje, zbritje, shumezim,
pjesetim
Operatoret e krahasimit. Krahasojne dy vlera dhe kthejne
true ose false (vertete ose gabuar). Me pas mund te kryeni
veprime bazuar ne vleren e kthyer.
Operatoret Logjike. Percaktojne gjendjen e kushteve
Operatoret e Vleredhenies
Operatori
Shembull
Veprimi
+=
$a += 3;
Ndryshon vleren e nje variabli ne vlere aktuale
plus vleren ne anen e djathte.
-=
$a -= 3;
Ndryshon vleren e nje variabli ne vlere aktuale minus
vleren ne anen e djathte.
.=
$a .= "string";
Bashkon vleren ne te djathte me vleren aktuale
Operatoret Aritmetike
Operator
Shembull
Veprimi
+
$b = $a + 3;
Mbledh vlerat
-
$b = $a - 3;
Zbret Vlerat
*
$b = $a * 3;
Shumezon Vlerat
/
$b = $a / 3;
Pjeston Vlerat
%
$b = $a % 3;
Kthen modulin (mbetjen e pjestimit)
Shembuj te Operatoreve aritmetike
 $Bread
= 1.5
 $Milk = 0.8
 $DiscountCoupon = 0.5
 $ShoppingTotal = $Bread + $Milk - $DiscountCoupon;
Mbledhja e variablave





$ShoppingTotal = $ShoppingTotal + $Bread;
$ShoppingTotal = $ShoppingTotal + 1;
$ShoppingTotal++;
$ShoppingTotal += 2;
$ShoppingTotal = $ShoppingTotal + 2;
Operatoret aritmetike

PHP ka edhe operatore te tjere aritmetike, perveç atyre
qe permendem. Ka nje bashkesi funksionesh PHP, per te
kryer veprime si llogaritje te funksioneve trigonometrike
apo logaritmesh.
Prioriteti i operatoreve


Ne matematike BODMAS eshte akronimi qe perdoret per
t’ju kujtuar rendin e prioritetit te operatoreve. BODMAS
(Brackets, Division, Multiplication, Addition, and
Subtraction).
(), /, *, +, -
Shembull
<HTML>
<BODY>
<?php
$Salary = 15000;
$TaxRate = 20;
$Pension = 3;
$BeforePensionIncome = $Salary - (($Salary / 100) * $TaxRate);
$AfterPensionIncome = $BeforePensionIncome (($BeforePensionIncome/100)*$Pension);
echo "Before Pension Deductions:$BeforePensionIncome<BR>";
echo "After Pension Deductions:$AfterPensionIncome";
?>
</BODY
</HTML>
Shembull
Rezultati i kodit te mesiperm eshte:
Operatoret e Krahasimit


Operator
Perkufizimi
==
I barabarte me
!=
Jo i barabarte me
>
Me i madh se
<
Me i vogel se
>=
Me i madh ose i barabarte me
<=
Me i vogel ose i barabarte me
Rezultati i ketyre krahasimeve eshte true ose false.
Ju mund te perdorni rezultatin e tyre ne shprehje kontrolli si
if…else dhe while per te kryer nje detyre specifike.
Operatoret Logjike (1)



Operatoret logjike lejojne skriptet qe te percaktojne gjendjen e
kushteve (siç ishte krahasimi ne seksionin e meparshem)
Ne kontekstin e shprehjeve if…else ose while, operatoret logjike
eskzekutojne kod te caktuar, bazuar ne faktin se cilat nga kushtet
jane te verteta dhe cilat te gabuara.
Per momentin, le te fokusohemi ne operatoret
&& (and) dhe
|| (or)
per te percaktuar vlefshmerine e krahasimive.
Operatoret Logjike (2)
$degrees = "95";
$hot = "yes";
if (($degrees > 100) || ($hot == "yes"))
{
echo "<P>TEST 1: It's
<strong>really</strong> hot!</P>";
} else {
echo "<P>TEST 1: It's bearable.</P>";
}
Strukturat e kontrollit: Kushtezimet (1)
Shprehja If...Else
Sintaksa
1.
if (kushti) kodi qe duhet
ekzekutuar nese kushti eshte i
vertete ;
else kodi qe duhet ekzekutuar
nese kushti eshte i gabuar;
<?php
$d=date("D");
if ($d=="Fri") echo "Have a nice
weekend!";
else echo "Have a nice day!";
?>
Nese duhet te ekzekutohen me
shume rreshta kodi, kur kushti
eshte i vertete/gabuar,
rreshtat duhet te vendosen
brenda kllapave { } :
<?php
$d=date("D");
if ($d=="Fri")
{
echo "Hello!<br />";
echo "Have a nice weekend!";
echo "See you on Monday!";
}
?>
Strukturat e kontrollit: Kushtezimet (2)
<html><head> <title>good ......</title>
</head>
• Nese deshironi qe te ekzekutoni <body>
kod nese njeri nga kushtet eshte <?php
i vertete, perdorni shprehjen
$hour = date("H");
elseif
if ($hour <= 11) {
echo "good morning my friend"; }
Sintaksa
if (kushti1) kodi qe duhet ekzekutuar elseif ($hour > 11 && $hour < 18) {
echo "good afternoon my friend"; }
nese kushti1 eshte i vertete ;
else { echo "good evening my friend";
elseif (kushti2) kodi qe duhet
}
ekzekutuar nese kushti2 eshte i
?>
vertete;
else kodi qe duhet ekzekutuar nese </body></html>
2.Shprehja ElseIf
kushti2 eshte i gabuar;
Shprehja Switch
Nese deshironi te selektoni nje nga disa
blloqe kodi per t’u ekzekutuar, perdorni
shprehjen Switch.
• Shprehja switch perdoret per te shmangur
blloqet e gjata te kodit if..elseif..else.
Sintaksa
switch (expression)
{
case label1: code to be executed if expression
= label1;
break;
case label2: code to be executed if expression
= label2;
break;
default: code to be executed if expression is
different from both label1 and label2;
}
•
switch ($textcolor)
{
case "black":
echo "I'm black";
break;
case "blue":
echo "I'm blue";
break;
case "red":
echo "I'm red";
break;
default: // It must be
something else
echo "too bad!!, I'm
something else";
}
Shprehja while
Sintaksa
while (condition)
{
// statements
}
Shembull
<html> <head> <title>Let us count !!!</title></head>
<body>
<?php
$limit = 10;
echo "<h2> Let us count from 1 to $limit </h2><br
/>";
$count = 1;
while ($count <= $limit)
{
echo "counting $count of $limit <br>";
$count++;
}
?>
</body><html>
Shprehja do...while
•
Shprehja do...while do ta
ekzekutoje nje bllok kodi
te pakten njehere – me
pas ajo do ta perserise
ciklin per sa kohe qe
kushti te jete i vertete.
Sintaksa
• do {
code to be executed;
} while (condition);
Shembull
<html> <body>
<?php
$i=0;
do {
$i++;
echo "The number is " . $i . "<br />"
}
while ($i<5);
?>
</body> </html>
Shprehja for
Perdoret kur ju e dini se sa here deshironi
ta ekzekutoni nje shprehje ose nje liste
shprehjesh.
Sintaksa
• for (init; cond; incr) { code to be executed; }
• Parametrat:
•
•
•
•
init: kryesisht perdoret per te percaktuar
nje numerues, por mund te jete cdo kod qe
duhet te ekzekutohet ne fillim te shprehjesh
se ciklit.
cond: vleresohet ne fillim te cdo iteracioni
te ciklit. Nese kushti eshte TRUE, cikli
vazhdon dhe kodi ekzekutohet. Nese eshte
FALSE, ekzekutimi I ciklit mbaron.
incr: kryesisht perdoret per te
inkrementuar nje numerues, por mund te
jete cdo kod qe duhet ekzekutuar ne fund
te secilit cikel.
Shembull
<html> <body>
<?php
for ($i=1; $i<=5; $i++)
{
echo "Hello World!<br />";
}
?>
</body> </html>
Shprehja foreach
•
•
Shprehja foreach perdoret per
te bredhur ne vektore.
Per cdo iteracion te ciklit, vlera
e elementit aktual te vektorit I
jepet variablit $value (dhe
shenjuesi I vektorit leviz me nje)
– keshtu qe ne ciklin tjeter, ju
do te jeni duke kontrolluar
elementin tjeter.
Sintaksa
• foreach (array as value) { code
to be executed; }
Shembull
<html> <body>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value) {
echo "Value: " . $value . "<br />";
}
?>
</body> </html>
Vektoret (Arrays) PHP


Nje vektor mund te ruaje nje ose me shume vlera ne
nje emer te veteme variabli.
Ka tre lloje vektoresh ne PHP:
 Vektori
numerike – Nje vektor me nje celes ID numerik
 Vektori i Shoqeruar (Associative array) – Nje vektor
ku secili celes ID lidhet me nje vlere
 Vektori Shumedimensional (Multidimensional array)
– Nje vektor qe permban nje ose me shume vektore.
Vektoret Numerike
•
•
Nje vektor numerike ruan secilin element
me nje celes ID numerik.
Ka menyra te ndryshme per te krijuar nje
vektor numerik:
Shembull 1
• Celesi ID vendoset ne menyre automatike:
• $names =
array("Peter","Quagmire","Joe");
Shembull 2
• Celesi ID vendoset manualisht:
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
Shembull 3:
<?php
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
echo $names[1] . " and " .
$names[2] . " are ".
$names[0] . "'s
neighbors"; ?>
Vektoret e Shoqeruar
•
•
•
Secili celes ID shoqerohet me nje
vlere.
Kur ruani te dhena rreth vlera te
emertuara ne menyre specifike, nje
vektor numerik nuk eshte gjithmone
menyre me e mire per ta bere kete.
Ka dy menyra per te krijuar nje
vektor te shoqeruar:
Shembull 1
• $ages = array("Peter"=>32,
"Quagmire"=>30, "Joe"=>34);
Shembull 2
• $ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
Shembull 3:
<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
echo "Peter is " .
$ages['Peter'] . " years
old.";
?>
Vektoret Shumedimensionale
•
•
•
Ne nej vektor shumedimensional,
secili element ne vektorin kryesor
mund te jete gjithashtu nje vektor.
Dhe secili element ne nenvektor
mund te jete vete nje vektor, e
keshtu me rradhe.
Shembull 1
Me celesa ID te vendosura
automatikisht :
$families = array
( "Griffin"=>array
( "Peter", "Lois", "Megan" ),
"Quagmire"=>array
( "Glenn" ),
"Brown"=>array
( "Cleveland", "Loretta", "Junior" )
);
Shembull 2:
Vektori i mesiperm do te dukej keshtu, nese do shkruhej si
output
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior )
)
•Afishimi i nje vlere te vetme nga vektori i mesiperm:
echo "Is " . $families['Griffin'][2] . " a part of the
Griffin family?";
Pyetje???
Download