Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Structuri de control

php



+ Font mai mare | - Font mai mic



Structuri de control

PHP suporta un numar de constructii de limbaj traditionale, pentru controlarea modului de executie al unui program. Structurile conditionale precum if/else permit unui program sa execute bucati de cod diferite, in functie de o conditie. Structurile repetitive precum for si while permit repetarea unei bucati de cod.



If

Structura if verifica valoarea de adevar a unei expresii si daca expresia este adevarata, evelueaza un set de instructiuni. O structura if, arata astfel:

if (expresie)

set de instructiuni

Pentru a specifica un set de instructiuni alternative (care sa se execute atunci cand conditia este falsa), folosim cuvantul cheie else:

if (expresie)
instructiuni
else
alte instructiuni

De exemplu:

if ($user_validat)
echo 'Bine ati venit!';
else
echo 'Acces ne permis!';

Pentru a include mai mult de o instructiune intr-o structura if, folosim un bloc (setul de instructiuni este inchis intre acolade):


if ($user_validat)

Else

In locul instructiunii if, putem folosi operatorul ternar astfel:

echo $user_validat ? 'da':'nu';

Comparand sintaxa opertorului conditional si a structurii conditionale, ne vom da seama ca operatorul conditional nu este o structura.

Rezultatul unei expresii construite cu operatorul conditional este tot o expresie, si nu putem construi seturi de instructiuni plecand doar de la el.

switch

Exista cazuri destul de frecvente cand valoarea unei singure variabile poate determina un numar de optiuni (ex: variabila retine un nume de utilizator si noi dorim sa facem ceva diferit pentru fiecare utilizator in parte). Structura switch este proiectata pentru acest tip de decizii.

Unei structuri switch i se da o expresie, careia ii compara valorile cu toate cazurile tratate de programator. Toate cazurile care se potrivesc cu expresia sunt executate, pana la identificarea cuvantului cheie break. Daca nici unul dintre cazuri nu se potriveste, si este dat un default, toate instructiunile de dupa default sunt executate, pana la primul break identificat. Iata un exemplu:

if ($nume == 'ktatroe')
// instructiune
elseif ($nume == 'rasmus')
// instructiune
elseif ($nume == 'ricm')
// instructiune
elseif ($nume == 'bobk')
// instructiune

Acest set de instructiuni poate fi inlocuit printr-un switch astfel:

switch($nume)

while

Cea mai simpla forma de structura repetitiva este while. Sintaxa sa este:


while (expresie)
instructiuni

Daca expresia este adevarata, instructiunea este executata, si apoi expresia este reevaluata. Repetarea se face pana cand expresia este evaluata ca falsa.

Ca exemplu, vom construi o bucata de cod care va adauga numerele intregi de la 1 la 10:

$total = 0;
$i = 1;
while ($i <= 10)

Din while se poate iesi prematur (inainte de indeplinirea conditiei) folosind cuvantul cheie break. Codul urmator se va opri odata ce variabila $i va ajunge la valoarea 5:

$total = 0;
$i = 1;
while ($i <= 10)

Optional, se poate pune un numar dupa break, simbolizand dupa cate repetari va fi intrerupt while-ul:

$i = 0;
while ($j < 10)

PHP suporta si o structura repetitiva do/while, care poate fi folosita atunci cand dorim ca instructiunile sa se execute cel putin odata:

do
instructiuni
while (expresie)

for

Structura for este similara cu while, exceptand faptul ca este adaugat un contor ce va fi initializat, astfel putand fi controlata executarea instructiunilor pentru un numar finit de pasi. Sintaxa este asemanatoare cu cea din C:


for (start conditie incrementare)
instructiuni

Expresia de start este evaluata o singura data, la inceperea structurii for. La fiecare repetare este testata conditia. Daca aceasta este adevarata, sunt executate instructiunile, daca nu, se iese din for. Expresia de incrementare este evaluata dupa fiecare executie a instructiunilor.

Programul urmator este echivalentul celui construit cu while, mai sus:

$total = 0;
for ($i= 1; $i <= 10; $i++)

La fel ca si in structurile while si in for putem folosi instructiunile break si continue.

foreach

Structura foreach permite parcurgerea elementelor dintr-un vector. Sintaxa ei este urmatoarea:

foreach ($array as $curent)


Pentru parcurgerea unui vector, accesand atat cheile, cat si valorile, folosim sintaxa:

foreach ($array as $cheie => $valoare)

declare

Structura declare este folosita pentru a specifica directive de executie pentru un bloc de instructiuni si are urmatoarea sintaxa:

declare (directiva)
instructiune

In prezent, exista doar o forma pentru declare: directiva ticks. Folosirea ei specifica cat de des o functie inregistrata cu register_tick_function( ) este chemata. Spre exemplu:

register_tick_function('o_functie');

declare(ticks = 3)


In exemplul oferit functia "o_functie" este apelata la fiecare a treia instructiune executata.

exit si return

Instructiunea exit termina executia unui script, imediat ce este intalnita. Instructiunea return permite intoarcerea dintr-o functie direct in programul principal.

Instructiunea exit ia o valoare optionala. Daca valoarea este un numar, acesta reprezinta codul de iesire al procesului. Constructia exit() este un alias pentru die().



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2035
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved