PHP este un limbaj dinamic tipizat - variabilele nu necesită declararea tipului, iar tipul se poate schimba pe parcurs. Cu PHP 8.x, puteți adăuga type hints pentru siguranță.
Capitol gratuit
Variabile, tipuri de date și operatori
PHP este un limbaj dinamic tipizat - variabilele nu necesită declararea tipului, iar tipul se poate schimba pe parcurs. Cu PHP 8.x, puteți adăuga type hint...
Introducere
Variabile
<?php
// Variabilele încep cu $ și sunt case-sensitive
$nume = "Dorel";
$varsta = 35;
$activ = true;
$pret = 99.99;
// Reguli de denumire
$numeUtilizator = "ionescu"; // camelCase (recomandat)
$email_client = "a@b.com"; // snake_case (acceptat)
// $2name = "invalid"; // NU poate începe cu cifră
// $nume-client = "invalid"; // NU poate conține cratimă
// Constante
define('VERSIUNE', '2.0');
const SITE_NUME = 'GOAI';
echo VERSIUNE; // 2.0
echo SITE_NUME; // GOAI
// Variabile variabile (advanced)
$camp = 'email';
$$camp = 'test@goai.ro'; // Creează $email = 'test@goai.ro'
echo $email; // test@goai.roTipuri de date
| Tip | Exemplu | Descriere |
|---|---|---|
string |
"text" sau 'text' |
Șir de caractere |
int |
42, -10, 0xFF |
Număr întreg |
float |
3.14, 2.5e3 |
Număr cu virgulă |
bool |
true, false |
Valoare logică |
array |
[1, 2, 3] |
Colecție de valori |
object |
new StdClass() |
Instanță a unei clase |
null |
null |
Absența unei valori |
callable |
funcții, closure-uri | Funcție apelabilă |
<?php
// Verificare și conversie tipuri
$valoare = "42";
echo gettype($valoare); // string
echo is_string($valoare); // true (1)
echo is_numeric($valoare); // true (1)
// Type casting
$nr = (int) "42"; // int 42
$text = (string) 42; // string "42"
$bool = (bool) ""; // false
$arr = (array) "text"; // ["text"]
// Valori considerate false (falsy)
// false, 0, 0.0, "", "0", [], null, SimpleXMLElement golOperatori
<?php
// Aritmetici
$a = 10 + 3; // 13
$b = 10 - 3; // 7
$c = 10 * 3; // 30
$d = 10 / 3; // 3.333...
$e = 10 % 3; // 1 (rest)
$f = 2 ** 8; // 256 (putere)
// Comparare
10 == "10" // true (compară valoarea, cu conversie)
10 === "10" // false (compară valoarea ȘI tipul) - RECOMANDAT!
10 != 5 // true
10 !== "10" // true
10 <=> 20 // -1 (spaceship operator: -1, 0, 1)
// Logici
$x = true && false; // false (AND)
$y = true || false; // true (OR)
$z = !true; // false (NOT)
// Null coalescing (??)
$user = $_GET['user'] ?? 'anonim'; // Dacă nu există, returnează 'anonim'
$config = $settings['db'] ?? $defaults['db'] ?? 'sqlite';
// Null safe operator (?->) - PHP 8.0+
$tara = $user?->adresa?->tara; // null dacă orice e null (fără eroare)
// String
$salut = "Bună, " . $nume . "!"; // Concatenare cu .
$salut = "Bună, {$nume}!"; // Interpolare (doar în ghilimele duble)
$text .= " Adăugare"; // Concatenare și atribuire
// Spread operator
$numere = [1, 2, 3];
$toate = [...$numere, 4, 5, 6]; // [1, 2, 3, 4, 5, 6]
⚠️ Greșeală frecventă: Folosiți ÎNTOTDEAUNA
=== (comparare strictă) în loc de == (comparare liberă). Compararea liberă poate produce rezultate surprinzătoare: 0 == "text" returnează true în PHP 7 (corectat parțial în PHP 8).
Continuați cu restul cursului
Acesta este capitolul 2 din cele 20 ale cursului, cu 4 lecții din 102. Cumpărați cursul și parcurgeți tot conținutul în cont, cu progres salvat, test final și certificat.
Cumpărați cursul la 110 €