HackStuff...
Aici veti gasi o gama larga de metode de hack atat pe Windows cat si pe platforme Linux/Unix , programe , tutoriale etc. In acelasi timp veti avea si asistenta help . Precizam ca tot ce se gaseste pe acest site este doar in scop de dezvoltare iar voi va asumati intreaga raspundere pt actiunile savarsite.ENJoY --- by andreony ---
Lista Forumurilor Pe Tematici
HackStuff... | Reguli | Inregistrare | Login

POZE HACKSTUFF...

Nu sunteti logat.
Nou pe simpatie:
BrianaS
Femeie
24 ani
Bucuresti
cauta Barbat
26 - 57 ani
HackStuff... / Web Design (Scripting) / PHP 2 Moderat de lFx
Autor
Mesaj Pagini: 1
andreony
[admin]

Din: bucharest
Inregistrat: acum 18 ani
Postari: 1062
1
• Cicluri si structuri repetitive in PHP
Ciclurile (buclele) sunt folosite atunci cand dorim sa executam de mai multe ori
un bloc (ex: parcurgerea unui vector).
while - verifica o conditie si daca aceasta este adevarata executa blocul de
dupa conditie. Pentru ca while verifica o conditie la inceput, ciclul este cu test
initial.
Ex:
$i=5;
while ($i>=0) {echo $i--;}
do while – executa blocul de dupa do, urmand ca la sfarsitul blocului sa se
evalueze conditia, astfel fiind un ciclu cu test final. Este de preferat sa folositi do
while atunci cand doriti ca un bloc sa se execute de minim o data.
Ex:
$i=5;
do {echo $i--;} while ($i>=0);
Daca in primul exemplu (while) am fi avut un i negativ ciclul nu ar fi afisat nimic,
in schimb la al doilea exemplu (do while) ar fi afisat valoarea lui i dupa care nu ar
mai fi inceput iteratia urmatoare.
Aplicatie : Vrem sa verificam daca un numar este prim sau nu.
<?php
$nr=15;
$impartit=2;
do {
$rest=$nr%$impartit;
$impartit++;
} while ($rest!=0 && $impartit<$nr);
if ($impartit<$nr || $nr==0)
echo “Numarul NU este prim!�;
else echo “Numarul este prim !�;
?>
for – este un ciclu cu intitializare de parametru si cu test initial. Este
folosit acolo unde se doreste control total asupra numarului de iteratii (vectori).
Ex:
for ($contor=1;$contor<=10;$contor++) echo $contor.�/�;
Rezultatul va fi : 1/2/3/4/5/6/7/8/9/10/
Remarcam claritatea cu care se poate controla numarul de iteratii (de 10
ori).
2
Acelasi lucru l-am fi putut scrie cu ajutorul unei bucle while :
Ex:
$contor=0;
while ($contor<10) {$contor++; echo $contor.�/�;};
De cate ori s-ar fi executat aceasta bucla ? De 10 ori, pornind cu un contor
de la 0, pe care il incrementam inainte de a-i afisa valoarea.
Structuri repetitive (vectori) – reprezinta un set de variabile cu acelasi nume, dar
un index diferit. Fiecare membru al unui vector este numit element. Diferentierea
dintre elemente se face cu ajutorul parantezelor patrate [] in mijlocul carora este
un index, ce poate fi de tip numeric sau (spre deosebire de limbajul C++) un
string.
Ex:
<?
//rezultatele obtinute la o extragere 6/49
$numar[1]=15;$numar[2]=7;$numar[3]=13;
$numar[4]=44;$numar[5]=9;$numar[6]=21;
//parcurgerea si afisarea rezultatelor
for ($i=1;$i<=6;$i++) echo $numar[$i].�/�;
//date despre persoane - matrice
$date[1][“nume�]=�Ion�;
$date[1][“prenume�]=�Costin�;
$date[1][“varsta�]=30;
$date[2][“nume�]=�Hagi�;
$date[2][“prenume�]=�Gheorghe�;
$date[2][“varsta�]=38;
$date[3][“nume�]=�Pop�;
$date[3][“prenume�]=�Vasile�;
$date[3][“varsta�]=19;
//parcurgerea si afisarea datelor
for ($i=1;$i<=3;$i++) {
echo “Nume:�. $date[$i][“nume�].�<br>�;
echo “Prenume:�. $date[$i][“prenume�].�<br>�;
echo “Varsta:�. $date[$i][“varsta�].�<br>�;
}
?>
3
Pentru a afla numarul de elemente al unui vector putem folosi functia count(), ce
admite ca parametru vectorul pentru care calculam numarul de elemente.
Ex:
//parcurgerea si afisarea datelor
for ($i=1;$i<=count($date);$i++) {
echo “Nume:�. $date[$i][“nume�].�<br>�;
echo “Prenume:�. $date[$i][“prenume�].�<br>�;
echo “Varsta:�. $date[$i][“varsta�].�<br>�;
}
Initializarea vectorilor se mai poate face folosind functia array().
Ex:
$orase=array(“Bucuresti�,�Constanta�,�Iasi�);
//automat se va crea indexul pornind de la 0
for ($i=0;$i<count($orase);$i++) echo $orase[$i];
//daca dorim ca indexul sa plece de la alt numar
$orase=array(1=>“Bucuresti�,2=>�Constanta�,3=>�Iasi�);
for ($i=1;$i<=count($orase);$i++) echo $orase[$i];
//index de tip string
$orase=array(“bu�=>“Bucuresti�,�ct�=>�Constanta�,�is�=>�Iasi�);
//parcurgerea urmatoare nu va avea nici un sens
for ($i=1;$i<=count($orase);$i++) echo $orase[$i];
//in locul ei se poate parcurge vectorul utilizand functia foreach()
foreach ($orase as $valoarecurenta) echo $valoarecurenta.�/�;
Daca avem un vector initializat sub forma :
<?
$date=array(1=>"unu",30=>"doi","aa"=>"text";
?>
Nu am putea face nimic cu o bucla standard, ci doar cu foreach();
Vom folosi functia next() pentru a pozitiona pointerul pe inregistrarea urmatoare
si functia prev() pe cea dinainte si vom afisa folosindu-ne de functia key() ce
returneaza indexul curent.
<?
$date=array(1=>"unu",30=>"doi","aa"=>"text";
echo $date[key($date)];
next($date);
next($date);
echo $date[key($date)];
prev($date);
echo $date[key($date)];
?>
4
Ultima varianta de citire a vectorilor indexati non-secvential este folosind
functiile list() si each().
while(list($index,$element))= each ($date){
echo�<br>$index-$element�;
}
Sortarea vectorilor
Functia sort() este cea mai des folosita.
Ex:
$orase=array(“zalau�,�constanta�,�iasi�,�bucuresti�);
//afisare
for($i=0;$i<count($orase);$i++) echo $orase[$i].�/�;
//rezulatul va fi afisat in ordinea definirii
sort($orase);
//afisare dupa sortare
for($i=0;$i<count($orase);$i++) echo $orase[$i].�/�;
Functia rsort() sorteaza descrescator un vector (invers decat sort()).
Functia asort() sorteaza crescator un vector pastrand relatia element->index.
Ex:
$orase=array(“bu�=>�bucuresti�,�is�=>�iasi�,�ct�=>�constanta�);
asort($orase);
//afisare
foreach ($orase as $val) echo $val.�/�;
//in exemplul precedent (sort) la o afisare de forma
echo $orase[“is�];
//se pierdea indexul, astfel ca la afisare ar fi scris constanta in loc de iasi.
Functia arsort() sorteaza descrescator un vector pastrand relatia element->index.
Functia ksort() sorteaza crescator un vector, dupa valoarea indexului, nu al
elementelor.
Ex:
$orase=array(“bu�=>�bucuresti�,�is�=>�iasi�,�ct�=>�constanta�);
ksort($orase);
//afisare
foreach ($orase as $val) echo $val.�/�;
implode() si explode()
In cazul in care avem un vector si dorim ca toate elementele sale sa le punem intrun
string putem scrie :
5
Ex:
<?
$v=array(“ion�,�matei�,�gheorghe�);
foreach ($v as $val) $string.=$val.�,�;
//am folosit virgula ca delimitator
?>
Sau putem apela la functia implode() astfel :
<?
$v=array(“ion�,�matei�,�gheorghe�);
$string=implode(“,�,$v);
//in care virgula dintre ghilimele este de asemenea delimitator
?>
Inversa acestei functii este explode(), care transforma un string in care cuvintele
cheie sunt delimitate dupa un semn distinct intr-un vector al carui elemente sunt
cuvintele cheie, dupa cum urmeaza:
Ex:
<?
$string=�ion,matei,gheorghe�;
$v=explode(“,�,$string);
//afisarea se face standard
foreach ($v as $val) echo $val.�<br>�;
?>


_______________________________________
------ eVoLuTiOn ------

pus acum 18 ani
   
Pagini: 1  

Mergi la