Fun Zone = Distractie 100 %
Doriti să reactionati la acest mesaj? Creati un cont în câteva clickuri sau conectati-vă pentru a continua.

Invata PHP Lectia 3

In jos

Invata PHP Lectia 3 Empty Invata PHP Lectia 3

Mesaj  IoanaPisy27 Mar Iul 22, 2008 10:44 am

3.Structuri de control

Structuri de control. Definire Clase



Structurile de control sunt scheletul ( inima) limbajelor de programare . PHP are incluse structurile de control necesare functionarii unui limbaj.

Daca aveti ceva cunostinte de Cobol, Pascal, C nu o sa fiti deloc surprinsi de ceea ce urmeaza.

Programele PHP iau decizii prin evaluare unor expresii conditionale si executa instructiuni bazate pe rezultatele acestor evaluarii.

Expr. Conditionale se mai numesc si expresii booleene , uneori , si au valorile asociate : true (1) – adevarat

false (0)- fals

O modalitate mai utila de a forma o expresie conditionala consta in utilizarea unui operator relational pentru compararea a doua valori numerice.



Exemplu : $a < 1 ( operatorul < are aceeasi semnificatie ca si in algebra )

Expresia conditionala de mai sus are valoarea true daca si numai daca valoarea variabilei $a are valoarea mai mica decat unitatea ; in toate celelalte cazuri are valoarea false.



Puteti folosi operatori relationali si pentru compararea sirurilor, numai ca aceste siruri vor fi convertite la o valoare numerica inainte de evaluarea expresiei. Vom vedea mai tarziu totusi ca exista si functii de comparare a sirurilor.





Operatori relaționali ai limbajului PHP



Operator Descriere



1. a


2. a>b Adevărat dacă valoarea lui a este mai mare decât valoarea lui b.



3. a<=b Adevărat dacă valoarea lui a este mai mică sau egală cu valoarea lui b.



4. a>=b Adevărat dacă valoarea lui a este mai mare sau egală cu valoarea lui b.



5. a==b Adevărat dacă valoarea lui a este egală cu valoarea lui b.



6. a!=b Adevărat dacă valoarea lui a este diferită de valoarea lui b.



7. a= =b Adevărat dacă a și b sunt identice; cu alte cuvinte, dacă a și b au același tip și dacă valoarea lui a este egală cu valoarea lui b.



8. a!= =b Adevărat dacă a și b nu sunt identice; cu alte cuvinte, dacă a și b nu sunt de același tip sau dacă valoarea lui a este diferită de valoarea lui b.











Pentru a sintetiza, iată regulile care definesc rezultatul unei expresii condiționale:



• Constantele true și false își iau respectiv valorile lor booleene corespunzătoare.

• O expresie condițională care constă dintr-o valoare nedefinită are valoarea false; în caz contrar, rezultatul depinde de tipul valorii, în speță numeric, șir, tablou sau obiect.

• O expresie condițională care constă dintr-o valoare numerică are valoarea false dacă valoarea este zero; în caz contrar, are valoarea true.

• O expresie condițională care constă dintr-o valoare de tip șir are valoarea false dacă șirul este vid; în caz contrar, are valoarea true.

• O expresie condițională care constă dintr-o valoare de tip tablou sau obiect are valoarea false dacă tabloul sau obiectul sunt vide; în caz contrar, are valoarea true.

• O expresie condițională alcătuită dintr-un operator relațional și din operanzii săi ia valori în conformitate cu rezultatul comparației (numerice sau nu).



Puteți forma expresii condiționale complexe prin unirea a două expresii condiționale cu ajutorul unui operator logic.



De exemplu, expresia următoare este adevărată dacă ambele expresii condiționale care o compun sunt adevărate:

$a < 1 AND $b < 1

Cu alte cuvinte, expresia este adevărată dacă atât variabila $a, cât și variabila $b au valori mai mici decât 1.





In general, expresiile sunt evaluate de la stânga la dreapta. Ca si in alte limbaje de programare totuși, operatorii care apar în partea superioară a tabelului dispun de o precedență mai ridicată și sunt efectuați anterior operatorilor cu o precedentă mai redusă, dacă nu sunt folosite paranteze pentru a specifica o altă ordine a operațiilor.









Operatori logici ai limbajului PHP



Operator Descriere



x AND y Adevărat dacă atât x, cât și y sunt adevărate.



x && y Adevărat dacă atât x, cât și y sunt adevărate.



x OR y Adevărat dacă minimum una din expresiile x și y este adevărată.



x || y Adevărat dacă minimum una din expresiile x și y este adevărată.



x XOR y Adevărat dacă numai una din expresiile x și y este adevărată.



!x Adevărat dacă x este falsă.









Precedența operatorilor PHP



Operator



! ~ ++ — (int) (double) (string) (array) (object)



/ %



+ - .



< <= > >=



= = != = = = ! = =



&



Ù



ç



&&



çç



?:



= += -= = /= .= %= &= ç= Ù= ~= <<= >>=



And



Xor



Or



,





Exemplu :



Consideram expresia $a + $b * $c



Precedența operatorului de multiplicare * este mai ridicată decât aceea a operatorului de adunare +, deci înmulțirea este efectuată prima, chiar dacă adunarea apare la stânga înmulțirii. Cu alte cuvinte, expresia este evaluată ca și cum ar fi fost scrisă astfel:



$a + ( $b * $c )



Dacă doriți ca adunarea să fie efectuată prima, puteți folosi paranteze în cadrul expresiei, astfel:

( $a + $b ) * $c







INSTRUCTIUNEA IF

SIMPLA

$a= ”15 ” ;

If ($a > 10)

Echo "Acesta este un număr mare " ;

Asta se traduce cam asa :

- daca conditia este adevarata executa echo sau orice alta instructiune care ar putea fi ;





1. Plasați următorul script PHP într-un fișier denumit lectia3-1.php și încărcați acest fișier în serverul dumneavoastră PHP:







Lectia3-1








echo „ Numărul introdus a fost : $număr.”;

if ($număr > 10)

echo „
Acesta este număr mare.”;

?>







2. Plasați următoarea pagină HTML într-un fișier denumit lectia3-1.html și încărcați acest fișier în serverul dumneavoastră, plasându-l în același catalog ca și fișierul lectia3-1.php:







Lectia 3-1









Introduceți o valoare numerică:












COMPLEXA

$a= ”15 ” ;



if ($a > 10 )

{

echo „
Numarul este mai mare decăt 10.”;

echo „
Deci, trebuie sa fie mai mare.”;

}



sau

sa zicem ca $a = ”8 ” ;



if ($numar > 10 )

echo „
Acesta este un numar mare .”;

else

echo „
Acesta este un numar mic.”;



Instructiunea if va afisa : Acesta este un numar mic



Sau INSTRUCTIUNE IF IMBRICATA



if ($numar > 10 )

if ($numa > 100)

echo „
Acesta este un numar foarte mare.”;

else

echo „
Acesta este un numar mare.”;

else

echo „
Acesta este un numar mic.”;



Exemplul afișează mesajul „Acesta este un număr foarte mare." dacă valoarea variabilei $numar depășește 100; în caz contrar, dacă valoarea variabilei $numar este mai mare decât 10, se afișează mesajul „Acesta este un număr mare.". Dacă valoarea variabilei $numar este mai mică sau egală cu 10, exemplul afișează mesajul „Acesta este un număr mic.".



INSTRUCTIUNEA ELSEIF



if ($numar > 100 )

echo „
Acesta este un numar foarte mare.”;

elseif ($numa > 10)

echo „
Acesta este un numar mare.”;

elseif ($numa > 1)

echo „
Acesta este un numar mic.”;

else

echo „
Acesta este un numar foarte mic.”;

Exemplul extinde funcționalitatea exemplului anterior, afișând mesajul „Acesta este un număr foarte mic." pentru valori ale variabilei $numar mai mici sau egale cu 1









Scrierea instrucțiunilor switch, break și default



Instrucțiunea if vă permite să luați o decizie în două sensuri. Pentru a putea lua o decizie în mai multe sensuri, puteți folosi mai multe instrucțiuni if , else sau elseif. Cu toate acestea, când doriți ca programul dumneavoastră să aleagă dintr-un set de alternative care pot fi reprezentate prin valori întregi, instrucțiunea switch este o opțiune mai convenabilă.

De exemplu, să presupunem că valoarea variabilei $numar este l, 2 sau 3, reprezentând respectiv dimensiunile mică, medie și mare. Iată un mic program care afișează dimensiunile asociate valorilor variabilei $numar:



Switch($numar)

{

case(1):

echo „ mic”;

break;

case(2):

echo „mediu”;

break;

case(3):

echo „mare”;

break;

default:

echo „Acesta nu este un cod valabil”;

}



Instrucțiunea break determină încheierea execuției instrucțiunii switch, transferând controlul următoarei instrucțiuni secvențiale care succede instrucțiunii switch. În absența instrucțiunii break, execuția trece la următoarea instrucțiune case sau default, fapt nedorit în majoritatea cazurilor.





INSTRUCTIUNEA FOR



Instructiunea for este o instructiune bucla sau o instructiune iterative; o instructiune care executa in mod repetat instructiunile associate.

Exemplu:



$suma = 0

for ($n =1; $n<=3; $n++)

$suma += $n;

echo !
Suma intregilor de la 1 la $numa este $suma.”;



În exemplu se calculează suma întregilor cuprinși între l și 3. Pentru aceasta, mai întâi se inițializează variabila $suma la valoarea 0. Apoi, se execută o instrucțiune for care incrementează în mod repetat valoarea variabilei $suma.



Instrucțiunea for include trei expresii, care apar între paranteze; fiecare expresie este separată de vecina sa printr-un caracter punct și virgulă. De asemenea, instrucțiunea for include o instrucțiune sau un grup de instrucțiuni, cunoscute sub numele de corpul instrucțiunii for. în exemplul de mai sus, instrucțiunea $suma += $n este corpul instrucțiunii for.

Sa examinăm mai amănunțit cele trei expresii:

• Prima expresie este expresia de inițializare. Aceasta se execută atunci când PHP ajunge la instrucțiunea for. In exemplu, expresia de inițializare atribuie valoarea variabilei $n, variabilă denumită variabilă de ciclare sau index.

• A doua expresie este expresia de test. Aceasta este o expresie condițională care indică dacă se execută sau nu corpul instrucțiunii, în general, face referire la variabila de ciclare. In cadrul exemplului, expresia de test compară valoarea variabilei $n cu valoarea 3. Expresia de test este evaluată pentru prima dată imediat după evaluarea expresiei de inițializare.

• Cea de-a treia expresie este expresia pas. în general, aceasta modifică una sau mai multe variabile la care se face referire în expresia test. în cadrul exemplului, expresia pas incrementează valoarea variabilei $n.



Secvența de execuție a unei instrucțiuni for este următoarea:

1. Se evaluează expresia de inițializare.

2. Se evaluează expresia test.

3. Dacă rezultatul evaluării expresiei test este false, se execută etapa 7.

4. Se execută corpul buclei.

5. Se evaluează expresia pas.

6. Se trece la etapa 2.

7. Se încheie execuția instrucțiunii for, prin executarea următoarei instrucțiuni secvențiale.



Instrucțiunea for este utilă pentru numărare și executarea în mod repetat a unor acțiuni. Ca alt exemplu, iată o instrucțiune for care creează numeroase controale de tip buton. Numărul controalelor create este determinat de valoarea variabilei $numar:



for($n=0;$n<=$numar; $n++)

echo „
n”;



Instrucțiunile while și do while reprezintă versiuni „manuale" ale instrucțiunii for.



Urmatoarele 2 instructiuni sunt echivalente:



for ( ; $i<= 3; ) $suma += $i; çè while ($i <= 3) $suma ++ $i;



Exemplu de instructiune while:



$n = 0;

$suma = 0;

while ($n <= 3)

{

$suma = $suma +$n;

$n++;

}

echo „Suma este $suma.”



Secvența de execuție a unei instrucțiuni while este următoarea:

1.Se evaluează expresia test.

2.Dacă rezultatul este false, se trece la etapa 5.

3.Se execută corpul buclei.

4.Se trece la-etapa 1.

5. Se părăsește bucla, prin executarea următoarei instrucțiuni secvențiale.



Instrucțiunea do while este oarecum asemănătoare instrucțiunii while. Diferența este aceea că instrucțiunea do while își execută corpul înainte de a-și evalua expresia de test. Astfel, corpul buclei unei instrucțiuni do while este întotdeauna executat cel puțin o dată; corpul unei instrucțiuni while este omis dacă expresia de test are inițial valoarea false.



Secvența de execuție a unei instrucțiuni do while este următoarea:

1. Se execută corpul buclei.

2. Se evaluează expresia de test

3. Dacă rezultatul este adevărat, se trece la etapa 1.

4. Se încheie execuția buclei, prin executarea următoarei instrucțiuni secvențiale.



Exemplu :

$suma = 0;

$n = 1;

do

{

$suma += $n;

$n++;

}

while ($n <= $numar);

echo „
Suma întregilor cuprinși între 1 și $numar este $suma.”;
IoanaPisy27
IoanaPisy27
Administrator
Administrator

feminin
Numarul mesajelor : 309
Varsta : 31
Localizare : Blaj
Respectarea regulilor : Invata PHP Lectia 3 111010
Warn :
Invata PHP Lectia 3 Left_bar_bleue1 / 1001 / 100Invata PHP Lectia 3 Right_bar_bleue

Puncte : 20
Reputatie : 4
Data de inscriere : 10/03/2008

https://fun-zone.forumtwilight.com

Sus In jos

Sus

- Subiecte similare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum