Sunteți pe pagina 1din 5

Funcţii PHP

O funcţie reprezintă un grup de instrucţiuni care realizează o anumită operaţie (îndeplineşte o


sarcină) şi care poate fi repetată. Funcţiile pot primi, din programul apelant, parametrii, dar poate
returna programului apelant un rezultat.

1. Funcţii definite de utilizator

Definirea unei funcţii de către utilizator se face astfel:

function nume_funcţie
($argument1,$argument2,...,$argumentn)
{corpul_funcţiei}

În limbajul PHP, numele funcţiilor nu sunt case-sensitive. În definirea unei funcţii sunt incluse
următoarele elemente:
° cuvântul cheie – function
° numele funcţiei
° lista de argumente sau de parametrii – poate fi şi vidă. Transmiterea valorilor parametrilor
se poate face prin valoare sau prin referinţă.
° corpul funcţiei – este format din unul sau mai multe instrucţiuni, cuprinse între acolade
° dacă se doreşte ca funcţia să returneze o valoare, se va folosi instrucţiunea return.

O funcţie nu poate returna mai multe valori, dar poate returna şi un tablou.
<?php
function arie($lungime, $latime)
{
return $lungime * $latime;
}
$rezultat=arie(5,3);
echo "Aria este:$rezultat";
?>

Funcţiile pot avea şi argumente prestabilite şi in cazul în care parametrul actual lipseşte, atunci se
va considera că are valoarea implicită.
<?php
function comanda ($s="cafea")
{
return "Ati comandat ".$s.".";
}
echo comanda();
echo "<br>";
echo comanda ("suc");
?>

1
Pentru oprirea prelucrării unui script se va folosi funcţia exit().

Tipuri de variabile

Există variabile:

a. globale – sunt declarate în afara funcţiilor. Pentru a putea fi folosite în cadrul funcţiilor,
variabilele trebuie să fie declarate ca fiind globale în interiorul acesteia.
<?php
$var1=135;
$var2=250;
function Suma()
{
global $var1,$var2;
return $var1+$var2;
}
echo "Suma este". Suma();
?>

În cazul în care variabilele nu erau declarate ca fiind globale, atunci acestea nu erau valabile în
interiorul funcţiei şi nu puteau fi utilizate, astfel că rezultatul ar fi fost NULL.

b. locale – sunt create în interiorul funcţiei şi sunt distruse după terminarea funcţiei.
<?php Va afişa
function v_local() In corpul scriptului x = 2
{ In corpul functiei x = 5
$x=5; In corpul scriptului x = 2
echo "<br />In corpul functiei x = $x";
}
$x=2;
echo "<br />In corpul scriptului x = $x";
v_local();
echo "<br />In corpul scriptului x = $x";
?>

Operatorul de referenţiere & (care modifică valoare variabilei după ultima valoare) trebuie utilizat
atât în definiţia funcţiei, cât şi în operaţia de atribuire a valorii returnate de funcţie unei variabile.
Adică dacă se foloseşte la definirea funcţie, atunci se va folosi şi la atribuirea valorii.
<?php Va afişa
function &refer ( ) Acesta este continutul variabilei referite cu
{global $s; ajutorul functiei.
return $s;}
$s = "Acesta este continutul variabilei referite cu
ajutorul functiei.";
$z = &refer ( );
echo $z;
?>

2
c. Variabile variabile – variabilele a căror valori se modifică în funcţie de altă variabilă. Se
identifică prin $$.
<?php Va afişa
$a="Mihai"; Mihai Ionescu
$$a="Ionescu";
echo "$a $Mihai";
?>

2. Funcţii de bibliotecă (predefinite)

a. Funcţii pentru dată şi timp


(1) checkdate(int luna, int data, int an) – validează o dată calendaristică (lună,zi,an).
Funcţia va returna TRUE dacă data este validă şi FALSE în caz contrar.

Exemplu: checkdate(„1,30,2009”); - va verifica dacă este 30 ianuarie 2009

(2) date(„format”) – returnează un şir de caractere care reprezintă data şi ora curentă,
formatul fiind furnizat prin parametrul format.
Forma Efect
t
a am sau pm
A AM sau PM
d Ziua lunii de forma 01 până la 31
F Luna, sub formă de caractere (March)
h Ora – format pe 12 ore (01-12)
H Ora – format pe 24 ore (00-23)
i Minute, de la 00 la 59
j Ziua din lună, adică de la 1 la 31
l Ziua săptămânii
m Luna, adică de la 1 la 12
s secunde
w ziua săptămânii format întreg, unde 0 reprezintă Duminică până la 6 reprezintă Sâmbătă
y anul cu 4 cifre
Y anul cu 2 cifre
z ziua din an, adică de la 0 la 365

Exemplu: echo date(„1,j F, Y”); - va afişa Monday, 4 May, 2009

(3) getdate([int marca_timp]) – întoarce un tablou care conţine informaţii legate de dată şi
oră în funcţie de marca_timp. Tabloul are cheie şi valoare.
Cheie Valoare
„seconds” secunde
„minutes” minute
„hours” ore
„mday” ziua din lună sub formă de număr

3
„wday” Ziua din săptămână sub formă de număr
„mon” Luna sub formă de număr
„year” anul
„yday” Ziua din an, sub formă de număr
„weekday” Ziua, (Friday)
„month” Luna, (May)

Exemplu:
<?php
Va prelua data curentă
$data=getdate();
echo $data[’mday’].”.”.$data[’month’].”.”. Va afişa data curenta
$data[’year’]
?>

(4) gettimeofday(void)– întoarce un tablou care conţine ora locală, exprimată fiind în
secunde şi microsecunde
Cheie Valoare
„sec” secunde
„usec” microsecunde
„minuteswest” Minute vest faţă de Greenwich

b. Funcţii matematice
(1) abs(numar) – returnează valoarea absolută a argumentului (modul).
(2) Float ceil(float numar) – rotunjeşte argumentul la cel mai apropiat număr întreg mai
mare.
(3) Float floor(float numar) - rotunjeşte argumentul la cel mai apropiat număr întreg mai
mic.
Exemplu: floor(7.9) – returnează 7 şi floor(-7.3.) – va returna -8.
(4) max/min(argumente) – afişează cea mai mare/mică valoare numerică a argumentelor.
Dacă argumentul este tablou va afişa valoarea cea mai mare din tablou.
(5) round(nr,zecimale) – rotunjeşte numărul la câteva zecimale.
(6) rand([min, max]) - generază un număr aleator

c. Funcţii pe şiruri de caractere


(1) explode – împarte un şir de caractere în subşiruri
(2) ltrim – şterge spaţiile din faţa şirului de caractere
(3) rtrim – şterge spaţiile de la sfârşitul şirului de caractere
(4) str_ireplace – înlocuieşte un şir de caractere cu un alt şir de caractere, făcând diferenţă
între litere mari şi litere mici
(5) str_pad – concatenează un şir de caractere cu un alt şir de caractere
(6) str_repeat – repetă un şir de caractere
(7) str_replace - înlocuieşte toate apariţiile şirului de caractere căutat cu şirul de înlocuire
(8) strcasecmp – compară două şiruri fără a fece distincţie între litere mari şi mici şi va
întoarce >0 dacă primul şir este mai mare decât al doilea şir, <0 dacă primul este mai
mic decât al doilea şi 0 dacă sunt egale
(9) strcmp - Compara doua siruri de caractere făcând diferenţă între litere mari şi litere mici

4
(10) strip_tags - Elimină etichetele HTML şi PHP dintr-un şir de caractere
(11) stripos - Gaseste pozitia primei aparitii a unui sir de caractere intr-un alt sir,fara sa faca
diferenta intre literele mici si cele mari
(12) strlen - Obtine lungimea unui sir de caractere
(13) strstr - Gaseste prima aparitie a unui sir de caractere
(14) strrev - Inverseaza un sir de caractere
(15) strtolower - Transforma un sir de caractere in litere mici
(16) strtoupper - Transforma un sir de caractere in litere mari
(17) substr_compare - Compara doua siruri de caractere (optional fara sa faca diferenta
intre literele mici si cele mari) incepund de la o pozitie specificata
(18) substr_count - Numara aparitiile unui subsir de caractere
(19) substr_replace - Inlocuieste un sub-sir intr-o portiune a unui sir de caractere
(20) substr - Returneaza o parte a sirului
(21) trim - Elimina spatiile albe atat de la inceputul cat si sfarsitul unui sir de caractere

S-ar putea să vă placă și