Variabile & Tipuri de date în PHP
În PHP, variabilele sunt „cutiuțe” în care putem stoca informații. Acestea pot reține text, numere, valori logice (adevărat / fals), liste, obiecte și multe altele. Tipurile de date definesc ce fel de informație conține o variabilă și cum poate fi folosită acea informație.
- Toate variabilele în PHP încep cu semnul
$(de exemplu:$nume). - Nu trebuie să declari tipul explicit — PHP este un limbaj „slab tipizat” și convertește automat tipurile când este nevoie.
- Poți să verifici conținutul unei variabile cu funcții precum
var_dump()sauprint_r().
String
Un string este o secvență de caractere (text). În PHP, un string se scrie între ghilimele
simple (' ') sau duble (" "). Diferența importantă:
- În
"ghilimele duble", variabilele sunt interpretate (interpolare). - În
'ghilimele simple', textul este afișat exact cum este scris (fără interpretare).
Exemplu — string simplu
<?php
$mesaj = "Salut, lume!";
echo $mesaj; // Afișează: Salut, lume!
?>
Exemplu — interpolare vs literal
<?php
$nume = "Ana";
echo "Bună, $nume!"; // Interpolare: Bună, Ana!
echo 'Bună, $nume!'; // Literal: Bună, $nume!
?>
Integer (int)
Un integer este un număr întreg, pozitiv sau negativ, fără zecimale. Acest tip este folosit pentru:
- numărători (ex: câți utilizatori sunt conectați)
- id-uri unice (ex: id-ul unui produs în baza de date)
- vârste, cantități, scoruri etc.
Exemplu — variabile int
<?php
$varsta = 30;
var_dump($varsta); // int(30)
$suma = -15;
var_dump($suma); // int(-15)
?>
Exemplu — operații cu int
<?php
$a = 10;
$b = 5;
$rezultat = $a + $b;
echo $rezultat; // 15
$scadere = $a - $b;
echo $scadere; // 5
?>
Float (număr cu zecimale)
Un float (sau „double”) este un număr care are o parte zecimală. Este folosit atunci când avem nevoie de precizie mai mare, de exemplu:
- prețuri (
19.99) - măsurători (
1.75metri) - note la examene (
9.50)
Exemplu — variabile float
<?php
$pret = 19.99;
$inaltime = 1.75;
var_dump($pret); // float(19.99)
var_dump($inaltime); // float(1.75)
?>
Exemplu — operații cu float
<?php
$a = 10.5;
$b = 4.2;
$rezultat = $a * $b;
echo $rezultat; // 44.1
?>
Boolean (true / false)
Un boolean poate avea doar două valori: true (adevărat) sau false
(fals). Acest tip este foarte folosit în condiții și structuri de control (if, while etc.).
Exemplu — variabile boolean
<?php
$esteLogat = true;
$arePermisiune = false;
var_dump($esteLogat); // bool(true)
var_dump($arePermisiune); // bool(false)
?>
Exemplu — booleans în if
<?php
$esteLogat = true;
if ($esteLogat) {
echo "Bine ai revenit!";
} else {
echo "Te rog să te loghezi.";
}
?>
Array
Un array este o colecție de valori. În PHP există mai multe tipuri de array-uri:
- Indexed arrays — elementele au index numeric (0,1,2...)
- Associative arrays — elementele au chei personalizate (ex: 'nume', 'email')
- Multidimensional arrays — array-uri care conțin alte array-uri
Exemplu — indexed array
<?php
$fructe = ["mar", "banana", "portocala"];
echo $fructe[0]; // mar
echo $fructe[2]; // portocala
?>
Exemplu — associative array
<?php
$utilizator = [
"nume" => "Ion",
"email" => "ion@example.com",
"varsta" => 25
];
echo $utilizator["nume"]; // Ion
echo $utilizator["email"]; // ion@example.com
?>
Exemplu — multidimensional array
<?php
$clasa = [
["nume" => "Ana", "nota" => 9],
["nume" => "Mihai", "nota" => 8],
["nume" => "Elena", "nota" => 10]
];
echo $clasa[0]["nume"]; // Ana
echo $clasa[2]["nota"]; // 10
?>
Null
Null înseamnă „fără valoare”. O variabilă poate avea valoarea null dacă nu a fost
setată încă sau dacă a fost „golita” manual. Este util atunci când vrem să verificăm dacă o variabilă conține
sau nu o valoare.
Exemplu — variabilă null
<?php
$valoare = null;
var_dump($valoare); // NULL
?>
Exemplu — verificare null
<?php
$valoare = null;
if (is_null($valoare)) {
echo "Variabila nu are valoare.";
}
?>
Constante
O constantă este ca o variabilă, dar valoarea ei nu se poate schimba după ce a fost definită. Se folosesc pentru valori fixe, cum ar fi: versiunea aplicației, o adresă URL sau date de configurare.
Exemplu — definire constantă
<?php
define("SITE_NAME", "Tutorial PHP");
echo SITE_NAME; // Tutorial PHP
?>
Exemplu — constantă cu const
<?php
const PI = 3.14;
echo PI; // 3.14
?>
Variabile prin referință în PHP
În PHP, poți face ca două variabile să se refere la aceeași locație de memorie. Aceasta înseamnă că modificarea
uneia va afecta automat cealaltă. Aceasta se numește variabilă prin referință și se realizează
cu simbolul & în fața variabilei.
De ce să folosim variabile prin referință?
Variabilele prin referință sunt utile atunci când:
- vrei să modifici direct datele transmise între funcții;
- vrei să economisești memorie atunci când lucrezi cu valori mari;
- vrei să actualizezi simultan mai multe variabile legate între ele.
Crearea unei variabile prin referință
Poți crea o referință între două variabile astfel:
<?php
$a = 10;
$b = &$a; // $b devine referință la $a
echo $a; // 10
echo $b; // 10
$b = 20; // schimbăm $b
echo $a; // 20 — $a s-a schimbat automat
?>
Transmiterea variabilelor prin referință într-o funcție
Referințele sunt foarte utile în funcții atunci când vrem ca valoarea originală să fie modificată:
<?php
function adauga5(&$numar) {
$numar += 5;
}
$x = 10;
adauga5($x);
echo $x; // 15 — $x a fost modificat în funcție
?>
☞Important de știut:
Folosește referințele cu atenție:
- dacă nu ai nevoie să modifici variabila originală sau nu lucrezi cu valori mari, e mai sigur să folosești copierea standard;
- referințele pot face codul mai greu de urmărit dacă sunt folosite excesiv;
- folosește-le doar acolo unde ai clar nevoie de modificarea simultană a valorilor.
Tipuri de date și conversii
PHP este un limbaj loosely typed, adică nu trebuie să specificăm tipul unei variabile. Totuși, putem converti manual o valoare într-un alt tip, atunci când avem nevoie.
Exemplu — conversii explicite
<?php
$numar = "100"; // string
$int = (int)$numar; // convertit în integer
$float = (float)$numar; // convertit în float
var_dump($numar); // string(3) "100"
var_dump($int); // int(100)
var_dump($float); // float(100)
?>
Exemplu — conversii implicite
<?php
$a = "10";
$b = 5;
$rezultat = $a + $b;
echo $rezultat; // 15
// PHP a convertit automat string-ul "10" în integer
?>
Bune practici pentru variabile
Pentru ca un proiect să fie ușor de înțeles și întreținut:
- Folosește nume descriptive pentru variabile (ex:
$pretTotal, nu$p) - Respectă convenția camelCase pentru denumiri
- Inițializează variabilele înainte de a le folosi
- Folosește constante pentru valori fixe
- Folosește funcții precum
var_dump()șigettype()pentru debugging
Exemplu — bune practici
<?php
$pretProdus = 50;
$taxa = 0.19;
$pretTotal = $pretProdus + ($pretProdus * $taxa);
echo "Preț total: " . $pretTotal;
?>
Exerciții practice
Acum că am învățat despre variabile, tipuri de date și constante, hai să punem totul la un loc. Mai jos ai două exemple mai mari pe care le poți copia într-un editor PHP pentru a vedea rezultatul în practică.
Exemplu 1 — explorarea tipurilor cu var_dump()
Acest script creează variabile de tipuri diferite și folosește funcția var_dump() pentru a afișa
atât tipul cât și valoarea lor.
< ?php
// String
$nume = "Maria";
// Integer
$varsta = 25;
// Float
$pret = 10.5;
// Boolean
$esteActiv = true;
// Array
$fructe = ["mere", "pere", "banane"];
// Null
$valoare = null;
// Afisăm informații despre fiecare, pe linii separate
echo;
var_dump($nume);
echo "\n";
var_dump($varsta);
echo "\n";
var_dump($pret);
echo "\n";
var_dump($esteActiv);
echo "\n";
var_dump($fructe);
echo "\n";
var_dump($valoare);
echo; ?>
Rulează acest cod și observă cum PHP afișează tipul și valoarea. Este un exercițiu excelent pentru a înțelege cum sunt stocate și recunoscute datele.
<?php // String $nume = "Maria"; // Integer $varsta = 25; // Float $pret = 10.5; // Boolean $esteActiv = true; // Array $fructe = ["mere", "pere", "banane"]; // Null $valoare = null; // Afisăm informații despre fiecare, pe linii separate echo "<pre><code>"; var_dump($nume); echo "\n"; var_dump($varsta); echo "\n"; var_dump($pret); echo "\n"; var_dump($esteActiv); echo "\n"; var_dump($fructe); echo "\n"; var_dump($valoare); echo "</pre>"; ?>
Exemplu 2 — constante și calcule cu variabile
În acest exemplu combinăm variabilele și constantele pentru a calcula prețul unui produs cu TVA. Vei înțelege
cum putem folosi const pentru valori fixe și cum să facem calcule simple.
<?php
// Definim o constantă pentru TVA
const TVA = 0.19;
// Variabile pentru un produs
$denumireProdus = "Laptop";
$pretProdus = 3000;
// Calculăm prețul total cu TVA
$pretTotal = $pretProdus + ($pretProdus * TVA);
// Afișăm rezultatul
echo "Produs: " . $denumireProdus . "<br>";
echo "Preț fără TVA: " . $pretProdus . " RON<br>";
echo "Preț cu TVA: " . $pretTotal . " RON";
?>
Dacă rulezi acest cod, vei obține o mică „factură” cu prețul produsului, atât fără TVA cât și cu TVA inclus.
Provocare pentru tine: încearcă să modifici codul și să adaugi încă un produs (de ex. „Telefon” cu prețul 2000 RON) și să calculezi totalul pentru ambele produse.
<?php // Definim o constantă pentru TVA const TVA = 0.19; // Variabile pentru un produs $denumireProdus = "Laptop"; $pretProdus = 3000; // Calculăm prețul total cu TVA $pretTotal = $pretProdus + ($pretProdus * TVA); // Afișăm rezultatul echo "Produs: " . $denumireProdus . "<br>"; echo "Preț fără TVA: " . $pretProdus . " RON<br>"; echo "Preț cu TVA: " . $pretTotal . " RON"; ?>
🧠 Quiz - Variabile & Tipuri de date în PHP
