Curs Web Development
Curs HTML
Curs CSS
Curs Javascript
Curs PHP
Curs Phyton
Curs SQL
Curs SEO

Funcții în PHP

O funcție în PHP este un bloc de cod reutilizabil, care realizează o anumită sarcină. Funcțiile ajută la organizarea codului, evitarea repetării, și fac programele mai ușor de întreținut. O funcție poate primi date de intrare (parametri) și poate returna un rezultat.

Definirea unei funcții

O funcție se definește folosind cuvântul cheie function, urmat de numele funcției și de paranteze. Codul pe care îl execută funcția se pune între acolade { ... }.

Exemplu simplu

<?php
// Definim o funcție simplă care afișează un mesaj
function salut() {
    echo "Salut, lume!";
}

// Apelăm funcția
salut(); // afișează: Salut, lume!
?>

Explicație pas cu pas

De ce să folosim funcții?

Funcțiile ne permit să:

Parametri și valori returnate în funcții

Parametrii permit funcțiilor să primească date de la apelant. Aceștia sunt definiți între parantezele funcției. O funcție poate, de asemenea, să returneze un rezultat folosind cuvântul cheie return.

Exemplu simplu cu parametri

<?php
// Funcție care primește numele și salută persoana respectivă
function salutPersoana($nume) {
    echo "Salut, $nume!";
}

// Apelăm funcția cu diferite valori
salutPersoana("Maria"); // Salut, Maria!
salutPersoana("Ioan");  // Salut, Ioan!
?>

Exemplu cu return

<?php
// Funcție care adună două numere și returnează rezultatul
function aduna($a, $b) {
    return $a + $b;
}

$rezultat = aduna(5, 10);
echo "Rezultatul este: $rezultat"; // Rezultatul este: 15
?>

Explicație pas cu pas

De ce să folosim parametri și return

Parametrii fac funcțiile flexibile, astfel încât să putem folosi aceeași funcție pentru date diferite. Valorile returnate ne permit să lucrăm cu rezultatele și să le folosim în calcule, condiții sau afișări ulterioare.

Funcții predefinite în PHP

PHP oferă o mulțime de funcții predefinite care te ajută să faci lucruri comune fără să scrii cod de la zero. Aceste funcții sunt împărțite pe categorii: manipulare string-uri, array-uri, date, matematică, fișiere și multe altele.

Exemple utile pentru string-uri

<?php
$text = "Salut, lume!";

// Aflăm lungimea unui string
echo strlen($text); // 12

// Transformăm textul în majuscule
echo strtoupper($text); // SALUT, LUME!

// Transformăm textul în litere mici
echo strtolower($text); // salut, lume!
?>

Exemple utile pentru array-uri

<?php
$fructe = ["mere", "pere"];

// Adăugăm un element la sfârșitul array-ului
array_push($fructe, "banane");
print_r($fructe); // Array ( [0] => mere [1] => pere [2] => banane )

// Eliminăm ultimul element
$ultimul = array_pop($fructe);
echo $ultimul; // banane
?>

Exemple pentru date și ore

<?php
// Obținem data curentă
echo date("d-m-Y"); // ex: 01-09-2025

// Obținem ora curentă
echo date("H:i:s"); // ex: 17:45:30
?>

Explicații și bune practici

Funcții anonime și arrow functions în PHP

O funcție anonimă este o funcție fără nume, care poate fi stocată într-o variabilă sau transmisă ca parametru altor funcții. Arrow functions sunt o versiune scurtă introdusă în PHP 7.4, mai concisă și mai lizibilă, utilă mai ales pentru funcții scurte.

Exemplu de funcție anonimă

<?php
$salut = function($nume) {
    return "Bună, $nume!";
};

echo $salut("Maria"); // Bună, Maria!
?>

Exemplu de arrow function

<?php
$adunare = fn($a, $b) => $a + $b;

echo $adunare(5, 7); // 12
?>

Când folosim funcții anonime sau arrow

Variabile locale, globale și static în PHP

Variabile locale

O variabilă declarată în interiorul unei funcții este locală. Ea există doar în acel context și nu poate fi accesată în afara funcției.

Exemplu variabilă locală

<?php
function salut() {
    $mesaj = "Salut, lume!";
    echo $mesaj;
}

salut(); // Afișează: Salut, lume!
echo $mesaj; // Eroare: variabila nu este definită în afara funcției
?>

Variabile globale

O variabilă definită în afara funcțiilor este globală. Pentru a o folosi în interiorul unei funcții, putem folosi cuvântul cheie global sau superglobalul $GLOBALS.

Exemplu variabilă globală

<?php
$mesajGlobal = "Salut din afara funcției!";

function afiseazaGlobal() {
    global $mesajGlobal;
    echo $mesajGlobal;
}

afiseazaGlobal(); // Afișează: Salut din afara funcției!
?>

Variabile statice

O variabilă statică își păstrează valoarea între apelurile funcției. Aceasta nu se resetează la fiecare execuție a funcției, spre deosebire de variabilele locale obișnuite.

Exemplu variabilă statică

<?php
function contorStatic() {
    static $nrApeluri = 0;
    $nrApeluri++;
    echo "Funcția a fost apelată de $nrApeluri ori <br>";
}

contorStatic(); // Funcția a fost apelată de 1 ori
contorStatic(); // Funcția a fost apelată de 2 ori
contorStatic(); // Funcția a fost apelată de 3 ori
?>

Când folosim variabile globale și statice?

Exemplu practic: funcție pentru calcularea mediei notelor

Vom crea o funcție care primește un array de note și returnează media acestora. Funcția va folosi parametri și return.

Exemplu funcție pentru calcularea mediei notelor

<?php
function calculeazaMedia($note) {
    $suma = array_sum($note);  // însumăm toate notele
    $numarNote = count($note); // numărul de note
    if ($numarNote === 0) {
        return 0; // evităm împărțirea la zero
    }
    return $suma / $numarNote; // calculăm media
}

// Testăm funcția
$noteElev = [8, 9.5, 7, 10];
$media = calculeazaMedia($noteElev);

echo "Media elevului este: $media";
?>
🔧 Exemplu PHP: funcție pentru calcularea mediei notelor
<?php
function calculeazaMedia($note) {
    $suma = array_sum($note);  // însumăm toate notele
    $numarNote = count($note); // numărul de note
    if ($numarNote === 0) {
        return 0; // evităm împărțirea la zero
    }
    return $suma / $numarNote; // calculăm media
}

// Testăm funcția
$noteElev = [8, 9.5, 7, 10];
$media = calculeazaMedia($noteElev);

echo "Media elevului este: $media";
?>

Explicație pas cu pas

  • Parametru: $note - array-ul de note transmis funcției.
  • array_sum: însumează toate elementele array-ului.
  • count: determină câte elemente sunt în array.
  • Verificăm dacă numărul de note este 0 pentru a evita împărțirea la zero.
  • Returnăm media și afișăm rezultatul folosind echo.

Extindere practică

Putem modifica funcția pentru a primi note de la utilizator prin formular și a returna media cu două zecimale:

<?php
$noteElev = [8, 9.5, 7, 10];
$media = calculeazaMedia($noteElev);
echo "Media elevului este: " . number_format($media, 2);
?>

🧠 Quiz - Funcții în PHP

Top